Formatieren einer Liste mit C



  • Hallo zusammen,
    ich bin ein Anfänger bei C programmieren. Bin in einer Hochschule und Studiere Medieninformatik.

    Ich habe eine Aufgabe bekommen, die ich lösen muss.
    Ich muss eine Preisliste mit folgende Informationen ausgeben.

    DVD+RW Speed GB Stueck Euro

    Fuji Jewel 4x 4.7 5 13

    Platinum 4x 4.7 10 19

    könnt ihr mir helfen wie ich ein Programm schreiben kann um diese Infos auszugeben.

    Vielen Dank im Voraus 🙂



  • struct
    Schleife
    printf



  • muss ich auch int für die ganze zahlen und float für die kommazahlen verwenden , was brauch ich noch?
    kenn mir einer ein Beispiel zeigen

    vielen dank



  • Kavi schrieb:

    muss ich auch int für die ganze zahlen und float für die kommazahlen verwenden , was brauch ich noch?
    kenn mir einer ein Beispiel zeigen

    vielen dank

    Im Prinzip ja.
    Wenn du mit den Zahlen aber nicht rechnen musst, wie z.B. bei Bezeichnungen/Eigenschaften von Artikeln, dann kannst du die Kommazahlen auch in char Arrays packen.

    struct Dvd
    {
    	char name[64];
    	char speed[16];
    	char gb[8];
    	char stck[8];
    	double preis;
    }dvds[] = { {"Fuji Jewel", "4x", "4.7", "50", 9.99},
         		{"Platinum", "4x", "4.7", "25", 5.99}
    		  };
    
    int main ( void )
    {
    	int i, n = sizeof(dvds)/sizeof(dvds[0]);
    	for ( i = 0; i < n; i++ )
    		printf ( "%s %s %s %s %.2lf\n", 
    				dvds[i].name, dvds[i].speed, dvds[i].gb, dvds[i].stck, dvds[i].preis );
    	return 0;	
    }
    


  • heeey vielen dank 🙂 , wieso hast du hinter Name die Nummer 64 und bei speed die zahl 16?

    und ich hab noch eine frage, wenn ich debug klicke kommt es kurz und dann verschwindet es. was muss ich einstellen?



  • Kavi schrieb:

    heeey vielen dank 🙂 , wieso hast du hinter Name die Nummer 64 und bei speed die zahl 16?

    Die 64 und die 16 habe ich frei nach Schnauze gewählt. Das ist die Anzahl der Zeichen die das zugehörige char Array speichern kann. Guckst du in dein C-Buch bzw. Skript!

    Kavi schrieb:

    und ich hab noch eine frage, wenn ich debug klicke kommt es kurz und dann verschwindet es. was muss ich einstellen?

    Entweder nen Haltepunkt für den Debugger auf die letzte Programmzeile setzen oder
    das Programm so aufrufen, wie es eigentlich für ein Konsolenprogramm üblich ist, nämlich in der Konsole, oder

    int main(void) 
    {
    ...
    puts("Hit enter to quit.");
    	getchar();
    return 0;
    }
    


  • Kavi schrieb:

    Bin in einer Hochschule und Studiere Medieninformatik

    Dann lauf da nicht nur herum. Setz dich hin und lerne dort was! 😞



  • vielen dank 🙂

    kannst mir sagen wie ich eine neue Zeile machen kann?



  • Kavi schrieb:

    vielen dank 🙂

    kannst mir sagen wie ich eine neue Zeile machen kann?

    Indem du einen Zeilenvorschub ausgibst.
    😃



  • Lesen was schon geschrieben war. 🕶 Formatspezifizier \n in printf einsetzen. Willst du denn alles hier erfragen oder kannst du auch selbst etwas machen? 😃
    daddeldu!



  • Kavi schrieb:

    muss ich auch int für die ganze zahlen und float für die kommazahlen verwenden ,

    Den Preis solltest du als Ganzzahl in Cent angeben und nur für die Ausgabe in Euro berechnen.


Log in to reply