array
-
oooooooooooo schrieb:
... char* umsatz_monat[12]; ...
// vorher int umsatz[12];
-
hasso schrieb:
..was muss gemacht werden damit das array die Fehlermeldung nicht mehr anzeigt?
-
Und Stringliterale kommen in C in "" und nicht in ''.
-
nur mal so am rande,
wieviele zeichen passen z.b. in
umsatz_monat[0] ?wie viele zeichen sind z.b. in "Januar" enthalten ?
na, dämmerts ?
-
char aacMonate[12][20]={"Januar","Ferbruar", "März", "April","Mai", "Juni", "juli","August","September", "Oktober","November","Dezember"};
-
char* Monate[12] = { "Januar", "Ferbruar", "März", "April","Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" };
-
angeber^^;)
-
BorisDieKlinge schrieb:
char aacMonate[12][20]={"Januar","Ferbruar", "März", "April","Mai", "Juni", "juli","August","September", "Oktober","November","Dezember"};
char* Monate[12] = { "Januar", "Ferbruar", "März", "April","Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" };
Der Unterschied von beiden ist das bei einem [12] und [20] sich befindet und plus ein *, bei dem andren array nur [12]
wo ist der Unterschied, beides korrekt?
frage2)
bedeutet das char vor dem array das zeichen ausgegeben werden sprich bustaben und zeichenketten wird dadurch dass das char vor dem array steht nicht mehr nötig für die [12] ein größeren Wert einszusetzen weil die zeichen in der zeichenkette mehr sind als der array selbst?
lg hasso
-
Hallo,
hasso schrieb:
BorisDieKlinge schrieb:
char aacMonate[12][20]={"Januar","Ferbruar", "März", "April","Mai", "Juni", "juli","August","September", "Oktober","November","Dezember"};
char* Monate[12] = { "Januar", "Ferbruar", "März", "April","Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" };
Der Unterschied von beiden ist das bei einem [12] und [20] sich befindet und plus ein *, bei dem andren array nur [12]
wo ist der Unterschied, beides korrekt?
Ein char* ist ein Zeiger auf eine Zeichenkette. Zeichenketten kommen in " ". zum Beispiel char* Zeichenkette = "Zeichenkette"
char* ketten[12] Sind 12 Zeichenketten (array).char ist ein Zeichen. Zeichen kommen in ' '. zum beispiel char z = 'z'.
char mehrere_zeichen[6] ist eine kette von 6 Zeichen. Beispiel: char Hallo[6]="Hallo"char zeichenketten[5][20] ist ein array von 5 Zeichenketten mit jeweils 20 Zeichen.
hasso schrieb:
frage2)
bedeutet das char vor dem array das zeichen ausgegeben werden sprich bustaben und zeichenketten wird dadurch dass das char vor dem array steht nicht mehr nötig für die [12] ein größeren Wert einszusetzen weil die zeichen in der zeichenkette mehr sind als der array selbst?
lg hasso
Siehe oben
mfg kaffee
PS: Du solltest mal Variablen lernen
...
-
danke. kaffee
-
hasso schrieb:
aacMonate[12][20]={"Januar","Ferbruar", "März", "April","Mai", "Juni", "juli","August","September", "Oktober","November","Dezember"};
char* Monate[12] = { "Januar", "Ferbruar", "März", "April","Mai", "Juni",
"Juli", "August", "September", "Oktober", "November", "Dezember" };
wo ist der Unterschied, beides korrekt?beides ist korrekt, bis auf die rechtschreibfehler.
der unterschied ist der benutzte speicherplatz.
im ersten fall wird 12*20 byte speicherplatz verwendet. für jeden monat also 20 byte.
im zweiten fall berechnet der compiler für jedes feld den speicherplatz separat.
für Januar 6 byte, usw.
-
kurz noch ne frage könnte man das auch so schreiben
{
char* umsatz_monat[13][20];
umsatz_monat[1]="januar";
umsatz_monat[2]="februar";
umsatz_monat[3]="maerz";
umsatz_monat[4]="april";
umsatz_monat[5]="mai";
umsatz_monat[6]="juni";
umsatz_monat[7]="juli";
umsatz_monat[8]="august";
umsatz_monat[9]="september";
umsatz_monat[10]="oktober";
umsatz_monat[11]="november";
umsatz_monat[12]="dezember";}
Die geschweiften klammern sind pflicht nicht wahr?...können die weggelassen werden wenn sich das array innerhalb einer main() funktion befindet?
aja..wie wird ein array nun ausgegeben?
lg hasso
-
Hallo,
hasso schrieb:
danke. kaffee
Bitte
hasso schrieb:
wie wird ein array nun ausgegeben?
Du kannst das zum Beispiel mit einer for schleife machen.
char* Monate[12] = { "Januar", "Ferbruar", "März", "April","Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" }; for (int i=0;i<11;++i) { cout << Monate[i]; }
edit: Ups, cout (c++) Du musst das in c mit printf machen.
mfg kaffee
-
Hallo, ich hab das Programm nun zuende geschrieben. Nun wird gefordert tabbelarische Ausgabe der Umsätze.
jemand ne ahnung wie das funktionieren soll?
#include <stdlib.h> #include <stdio.h> int main() { int i; int umsatz; int m1; char* monate[12] = { "Januar 2007\n", "Ferbruar 2007\n", "März 2007\n", "April 2007\n","Mai 2007\n", "Juni 2007\n", "Juli 2007\n", "August\n", "September 2007\n", "Oktober 2007\n", "November 2007\n", "Dezember 2007\n" }; printf("\n\tHandelsfirma A & B GmbH\n"); printf("\nMenue Punkt 1: Eingabe ihrer Umsaetze taetigen Sie die Ziffer 1\n"); scanf("%i",&m1); if(m1==1) { for (i=0;i<=11;i++) { printf("\nBitte %i -ten Umsatz fuer %s",i+1,monate[i]); printf("Eingabe:");scanf("%i",&umsatz);//cls } } else { printf("\n\tDas Programm wurde Beendet\n"); } system("pause"); }
lg the hasso
-
im zweiten fall berechnet der compiler für jedes feld den speicherplatz separat.
für Januar 6 byte, usw.7
Wenn die tabellarische erst am Ende sein soll, was, wenn es eine Tabelle werden soll, so sein sollte, solltest du aus umsatz erstmal ein Array machen, momentan überschreibst du jeden Monat wieder den umsatz sodass du letzten Endes nur den vom Dezember behälst.
Was wird unter einer tabellarischen Ausgabe verstanden(also mit Linien, ohne u.s.w.) und was genau ist dabei dein Problem?
Wenn du umsatz dann zu einem Array gemacht hast kannst du einfach in einer Schleife den jeweiligen Monat und Umsatz ausgeben.
-
Hallo
Ich denke schon mit Linien anders kanich mir das nicht vorstellen.
Das an einer Spalte die Monate stehen und an einer anderen Spalte die umsätze.Ein weiterer Menüpunkt soll der tabellarischen Ausgabe aller Umsätze beider der Fialiale und ebenfalls von einem separaten Programm – Modul übernommen werden.
Das Problem: 0 ahnung wie man das machen kann. Noch nie gemacht.
#include <stdlib.h> #include <stdio.h> int main() { int i; int umsatz[12]; int m1; int summe=0; char* monate[12] = { "Januar 2007\n", "Ferbruar 2007\n", "März 2007\n", "April 2007\n","Mai 2007\n", "Juni 2007\n", "Juli 2007\n", "August\n", "September 2007\n", "Oktober 2007\n", "November 2007\n", "Dezember 2007\n" }; printf("\n\tHandelsfirma A & B GmbH\n"); printf("\nMenue Punkt 1: Eingabe ihrer Umsaetze taetigen Sie die Ziffer 1\n"); scanf("%i",&m1); if(m1==1) { for (i=0;i<=11;i++) { printf("\nBitte %i -ten Umsatz fuer %s",i+1,monate[i]); printf("Eingabe:");scanf("%i",&umsatz[i]);//cls } } else { summe=summe+umsatz[zi]; summe+=umsatz[i] // die Summe aller Monate Ist voll groß? printf("%i",&summe); } system("pause"); }
-
Besserwisser schrieb:
7
-
schon erledigt!
-
Hallo, ich hab das programm soweit ich nur kann geschrieben.. um weiter zu machen fehlen mir die kenntnisse deswegen bitte ich irgendjemand um hilfe der mir hierbei helfen kann. Die Ausgabe muss einer Matrix erfolgen Sprich eine Spalte für Umsätze und für Die Monate + Jahr damit das auch alles gerade ist.
hier mal eine Beispiel für ein Matrix.
#include <stdio.h> void main (void) { int m[3][4]; int z,s; for (z= 0; z < 3;z++) for(s = 0; s < 4; s++) m [z][s] = s+1+4*z; for (z= 0; z < 3;z++) { for(s = 0; s < 4; s++) printf("%10i",m[z][s]); printf("\n"); } }
Ab hier Mein Programm...
#include <stdlib.h> #include <stdio.h> int main() { int i; int umsatz[12]; int m1,m2; int summe=0; // char* monate [12]=... char monate[12][20] = { "Januar 2007\n", "Ferbruar 2007\n", "März 2007\n", "April 2007\n","Mai 2007\n", "Juni 2007\n", "Juli 2007\n", "August\n", "September 2007\n", "Oktober 2007\n", "November 2007\n", "Dezember 2007\n" }; printf("\n\tHandelsfirma A & B GmbH\n"); printf("\nMenue Punkt 1: Eingabe ihrer Umsaetze taetigen Sie die Ziffer 1\n"); scanf("%i",&m1); if(m1==1) { for (i=0;i<=11;i++) { printf("\nBitte %i -ten Umsatz fuer %s",i+1,monate[i]); printf("Eingabe:");scanf("%i",&umsatz[i]);//cls summe=summe+umsatz[i]; } printf("Ausgabe Umsaetze:"); for (i=0;i<=11;i++) { printf("%i %s",umsatz[i],monate[i]); printf("\n"); } printf("\n Die Summe ist:%i \n",summe); system("pause"); } }
Ich hoffe mir kann jemand helfen
-
Niemand ne ahnung wie man die Daten in Zeilen und Spalten bei der Ausgabe organisieren kann?
gruß