Bonjour à tous, voila j'ai un code chargé de calculer tous les nombres premiers et je veux mettre ces nombres premiers dans un fichier (bloc-note) chacun des programmes fonctionne bien indépendamment et je voulais faire le truc proprement avec des fonctions sauf que quand je les assemble paf !! ça marche pas et je ne comprend pas pourquoi, j'ai fais mes petites recherche sur internet mais je comprend pas toujours pas pourquoi ça ne marche pas. Si quelqu'un peut m'aider qu'il n'hésite pas
l'erreur est undefined reference to `primeABFile(std::string)'
||=== Build: Debug in primeFile (compiler: GNU GCC Compiler) ===|
C:\Nouveau Dossier\primeFile\pF.h|4|error: variable or field 'primeABFile' declared void|
C:\Nouveau Dossier\primeFile\pF.h|4|error: 'string' is not a member of 'std'|
C:\Nouveau Dossier\primeFile\pF.cpp|5|error: variable or field 'primeABFile' declared void|
C:\Nouveau Dossier\primeFile\pF.cpp|5|error: 'string' was not declared in this scope|
C:\Nouveau Dossier\primeFile\pF.cpp|5|note: suggested alternative
C:\Program Files (x86)\CodeBlocks\MinGW\lib\gcc\mingw32\4.9.2\include\c++\bits\stringfwd.h|62|note: 'std::string'|
||=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
les 3 codes :
source.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #include <iostream> #include "pIF.h" using namespace std; int main() { string x; cout << "Donnez l'adresse exacte du fichier ou seront transmis les nombres premiers :" << endl; cin >> x; primeABFile(x); return 0; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 #ifndef PIF_H_INCLUDED #define PIF_H_INCLUDED #include <string> void primeABFile(std::string x); #endif // PIF_H_INCLUDED
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 #include "pIF.h" #include <cmath> void primeABFile(string x) { int A, B; ofstream f1(x); ofstream f2(x, ios::app); if(f1 && f2) do { cout << "Je vais vous donner tous les nombres premiers compris entre deux entiers " << endl << "naturels " << endl << "A = "; cin >> A; cout << "B = "; cin >> B; } while ((A < 0 && B >= A) || (B < 0 && B >= A)); f2 << "Tous les nombres premiers de " << A << " a " << B << ": " << endl; int x1 = A; for (int x2 = x1; x2 < 5 && x2 <= B; x2++) { A = 5; if (x2 == 2 || x2 == 3) { cout << x2 << " "; } } if (A % 2 == 0) { A++; } int z2; double y, z1, z3, racx; double x = A; while (x <= B) { y = 1; racx = sqrt(x); do { y += 2; z1 = x / y; z2 = z1; z3 = z2; z1 = z1 - z3; } while (z1 != 0 && y <= racx); if (z1 != 0) { f2 << x << " "; } x += 2; } else { cout << "ERREUR: le fichier ne s'ouvre pas !" << endl; } }
Partager