mihrisahbaran
Grünschnabel
Hallo zusammen,
ich habe Problem mit c/c++, also ich muss ein Programm machen aber habe ich keine Ahnung, wie ich machen kann!
Also wir haben einige „file.txt“ (ein teil von eine text Datei schauen Sie bitte unten) in jedem txt Datei gibt es die Zahlen. Diese Zahlen, auf linke Seite fangen von 0x00000000 bis 0x00003fff. Das gilt für jede txt Datei so. aber auf rechte Seite(die Zahlen nach: kommen) für jede txt Datei bisschen unterschiedlich. Aber jede hat selber Regel (also sehen Sie bitte ?? und ? ) PageNumber ist für jede txt file unterschiedlich. Also kann sein z.B.: (PageNumber 0/1 oder 1/20 --1.page von 20 pages...20/20 usw.)
Also Mein Programm soll direkt erste PageNummer scannen und wissen, Wie viele pages wir haben. Und muss die zahlen prüfen, ob die in richtige Reihenfolge sind. Wenn z.B.: nach 0x00000004 --> 0x00000006 kommt, soll mein Programm error melden, dass es 0x00000005 nicht in Line gefunden hat. Bzw. für die reche Seite selbe weg gilt.
Ich freue mich wenn jemand Ahnung hat und mir hilft
Ich habe einigen code geschrieben aber die sind durcheinander
************
Rev-ID=0x0012 FW=0x0012 …………………
DMA Pages = 2 (0..1)
DMA Buffer Number 0 (save only selected Buffer)
PageNumber 0/1 ####################################################
0x00000000:0x1b013fff--??
0x00000001:0xefa5fff8--?
0x00000002:0x1c020000--??
0x00000003:0xefa50000--?
0x00000004:0x1c020001--??
0x00000005:0xefa50008--?
0x00000006:0x1c020002--??
0x00000007:0xefa50010--?
0x00000008:0x1c020003--??
0x00000009:0xefa50018--?
…………..
0x00003ff9:0xf0a5ffd8--?
0x00003ffa:0x00013ffc--??
0x00003ffb:0xf0a5ffe0--?
0x00003ffc:0x00013ffd--??
0x00003ffd:0xf0a5ffe8--?
0x00003ffe:0x00013ffe--??
0x00003fff:0xf0a5fff0--?
PageNumber 1/1 #####################################################
0x00000000:0x00021fff--??
0x00000001:0xf0a5fff8--?
0x00000002:0x00012000--??
0x00000003:0xf0a50000--?
0x00000004:0x00012001--??
………..
0x00003ffc:0x00013ffd--??
0x00003ffd:0xf0a5ffe8--?
0x00003ffe:0x00013ffe--??
0x00003fff:0xf0a5fff0--?
**************
#include <stdio.h>
#include <string.h>
#include <iostream> // für std::cout
#include <fstream> // für std::fstream
#include <string> // für std::string und std::getline
using namespace std;
/////////////////////////////////////
int main ()
{
char eingel [80];
FILE *eingab;
//long int eingel;
if((eingab = fopen("file.txt", "rt")) == NULL)
if(!eingab)
{
cout << "Could not open file \"file.txt\"!" << endl;
return 0;
}
char line [ 128 ]; //or other suitable maximum line size
while ( fgets ( line, sizeof line, eingab ) != NULL ) //read a line
{
cout << line << endl;
}
return 0;
// else {
///////////////////////////////////////
while (!feof(eingab)) {
fscanf(eingab, "%s", &eingel);
cout << eingel << endl;
int index;
if(strcmp("0x00000000" , eingel)) {
if(strspn("0x00000000" , " 0x ")){
for(index= 0x00000001; index <=0x00003fff; index++); //*1 for*
/* {
for(index2= 0x00000000; index2 <= 0x00003fff; index2++) *2 for*
{
if(eingel[index] == test[index2])
//{
/*Wenn der Wert von eingel mit Parameter index mit Wert von test
mit Parameter index2 übereinstimmt, soll die 2 for-Schleife verlassen
werden und in die erste gesprungen werden und das nächste Zeichen
von eigel mit allen test Werten überprüft werden, wenn das Ende von
noch nicht erreicht ist
}
}
}*/
}
}
printf("Nicht nur ganze Zahlen.\n");
printf("Programmende.");
getchar();
exit(0);
printf("Es gibt kein\"-\" im String\n");
printf("%s\n\n", eingel);
}
return 0;
}
ich habe Problem mit c/c++, also ich muss ein Programm machen aber habe ich keine Ahnung, wie ich machen kann!
Also wir haben einige „file.txt“ (ein teil von eine text Datei schauen Sie bitte unten) in jedem txt Datei gibt es die Zahlen. Diese Zahlen, auf linke Seite fangen von 0x00000000 bis 0x00003fff. Das gilt für jede txt Datei so. aber auf rechte Seite(die Zahlen nach: kommen) für jede txt Datei bisschen unterschiedlich. Aber jede hat selber Regel (also sehen Sie bitte ?? und ? ) PageNumber ist für jede txt file unterschiedlich. Also kann sein z.B.: (PageNumber 0/1 oder 1/20 --1.page von 20 pages...20/20 usw.)
Also Mein Programm soll direkt erste PageNummer scannen und wissen, Wie viele pages wir haben. Und muss die zahlen prüfen, ob die in richtige Reihenfolge sind. Wenn z.B.: nach 0x00000004 --> 0x00000006 kommt, soll mein Programm error melden, dass es 0x00000005 nicht in Line gefunden hat. Bzw. für die reche Seite selbe weg gilt.
Ich freue mich wenn jemand Ahnung hat und mir hilft
Ich habe einigen code geschrieben aber die sind durcheinander
************
Rev-ID=0x0012 FW=0x0012 …………………
DMA Pages = 2 (0..1)
DMA Buffer Number 0 (save only selected Buffer)
PageNumber 0/1 ####################################################
0x00000000:0x1b013fff--??
0x00000001:0xefa5fff8--?
0x00000002:0x1c020000--??
0x00000003:0xefa50000--?
0x00000004:0x1c020001--??
0x00000005:0xefa50008--?
0x00000006:0x1c020002--??
0x00000007:0xefa50010--?
0x00000008:0x1c020003--??
0x00000009:0xefa50018--?
…………..
0x00003ff9:0xf0a5ffd8--?
0x00003ffa:0x00013ffc--??
0x00003ffb:0xf0a5ffe0--?
0x00003ffc:0x00013ffd--??
0x00003ffd:0xf0a5ffe8--?
0x00003ffe:0x00013ffe--??
0x00003fff:0xf0a5fff0--?
PageNumber 1/1 #####################################################
0x00000000:0x00021fff--??
0x00000001:0xf0a5fff8--?
0x00000002:0x00012000--??
0x00000003:0xf0a50000--?
0x00000004:0x00012001--??
………..
0x00003ffc:0x00013ffd--??
0x00003ffd:0xf0a5ffe8--?
0x00003ffe:0x00013ffe--??
0x00003fff:0xf0a5fff0--?
**************
#include <stdio.h>
#include <string.h>
#include <iostream> // für std::cout
#include <fstream> // für std::fstream
#include <string> // für std::string und std::getline
using namespace std;
/////////////////////////////////////
int main ()
{
char eingel [80];
FILE *eingab;
//long int eingel;
if((eingab = fopen("file.txt", "rt")) == NULL)
if(!eingab)
{
cout << "Could not open file \"file.txt\"!" << endl;
return 0;
}
char line [ 128 ]; //or other suitable maximum line size
while ( fgets ( line, sizeof line, eingab ) != NULL ) //read a line
{
cout << line << endl;
}
return 0;
// else {
///////////////////////////////////////
while (!feof(eingab)) {
fscanf(eingab, "%s", &eingel);
cout << eingel << endl;
int index;
if(strcmp("0x00000000" , eingel)) {
if(strspn("0x00000000" , " 0x ")){
for(index= 0x00000001; index <=0x00003fff; index++); //*1 for*
/* {
for(index2= 0x00000000; index2 <= 0x00003fff; index2++) *2 for*
{
if(eingel[index] == test[index2])
//{
/*Wenn der Wert von eingel mit Parameter index mit Wert von test
mit Parameter index2 übereinstimmt, soll die 2 for-Schleife verlassen
werden und in die erste gesprungen werden und das nächste Zeichen
von eigel mit allen test Werten überprüft werden, wenn das Ende von
noch nicht erreicht ist
}
}
}*/
}
}
printf("Nicht nur ganze Zahlen.\n");
printf("Programmende.");
getchar();
exit(0);
printf("Es gibt kein\"-\" im String\n");
printf("%s\n\n", eingel);
}
return 0;
}
Zuletzt bearbeitet: