Hallo
Ich habe n kleines Verstnändnisproblem bei do while schleife. Wie die schleife funktioniert weiss ich aber in der praxis habe ich noch schwierigkeiten umzusetzen.
hier die aufgabestellung im Seminar
Lösung:
BIS DAHIN KEIN PROBLEM
ich verstehe nur nicht was diese while (1) auf sich hat, vielleicht kann jemand mir auf die Sprünge helfen. Außerdem ist es mir völlig räselhaft warum bei while(anz<0) und while(p<0) die variablen um 1 erhöht werden
Ich habe n kleines Verstnändnisproblem bei do while schleife. Wie die schleife funktioniert weiss ich aber in der praxis habe ich noch schwierigkeiten umzusetzen.
hier die aufgabestellung im Seminar
/* 1. In einem Geschäft wurden an einem Tag von mehreren Artikeln 'anz' Stück bei einem
Preis von 'p' EUR verkauft, beides ist jeweils einzulesen. Bei Eingabe negativer Werte
ist die Eingabe zu wiederholen! Die Eingabe wird beendet, wenn als Preis 0 eingegeben
wird! Es sind zu ermitteln: der Gesamtumsatz des Geschäftes an diesem Tag, die Anzahl
der verschiedenen Artikel, die Anzahl der verkauften Artikel, die im Mittel verkaufte
Stückzahl sowie der billigste Artikel und sein Preis. */
Lösung:
#include <stdlib.h>
#include <stdio.h>
#pragma warning(disable:4996)
int main()
{
int n=0,anz,i_min,summe=0;
float p,anz_mittel,p_ges=0,p_min;
BIS DAHIN KEIN PROBLEM
ich verstehe nur nicht was diese while (1) auf sich hat, vielleicht kann jemand mir auf die Sprünge helfen. Außerdem ist es mir völlig räselhaft warum bei while(anz<0) und while(p<0) die variablen um 1 erhöht werden

do
{
do
{
printf(" Anzahl der verkauften Artikel vom Typ %i : ",n+1);
scanf("%i",&anz);
}
while(anz<0);
do
{
printf(" Preis von Artikeltyp %i : ",n+1);
scanf("%f",&p);
}
while(p<0);
if(p==0)
{
break;
}
p_ges+=anz*p;
summe+=anz;
if((n==0)||(p<p_min))
{
i_min = n;
p_min = p;
}
n++;
}
while(1);
anz_mittel=(float) summe/n;
printf(" Insgesamt wurde heute ein Umsatz von %.2f Euro erzielt\n",p_ges);
printf(" Es wurden %i Artikel in %i Artikelgruppen verkauft\n",summe,n);
printf(" Im Mittel waren es %.2f pro Artikelgruppe\n",anz_mittel);
printf(" Der guenstigste Artikel war %i mit %.2f Euro\n\n ",i_min+1,p_min);
system("PAUSE");
return 0;
}
Zuletzt bearbeitet: