Jobbar med c inte c++ hoppas ingen tar illa upp att jag ställer frågan här. använd fgetc istället. Men den får du en bokstav åt gången, och kan på så sätt kontrollera vilket tecken som matas in. Problemet löstes på ett mycket enkelt sätt. Det var jag som inte hade tänkt till riktigt och stirra mig blind på - tecknet. ÄR det verkligen bra att avbryta på 0? Om man vill mata in 100 då? ;-) Jag läser inte in "0" som ett tecken(char), utan läser in 0 som ett decimalt tal. Inmatningen stoppas om talet är noll eller mindre än noll. Dkommer med en bra synpunkt som antagligen är ganska lätt att missa om man inte tänker till.Avbryt inmatning när vi får värdet 0 eller -
Jag matar in x antal värden, dessa världen ska sedan bearbetas. När man matar in en "0" ELLER "-" Så ska inmatningen avbrytas. Jag har försökt på många olika sätt men inte fått till det. Om jag skriver på följande sätt så avbryts inmatninge.
<code>
float tal=0, summa=0, i=0;
printf("Mata in dina tal: ");
printf("avsluta med 0 eller -.\n\n ");
while (scanf("%f", &tal) ==1)
{
i++;
summa +=tal;
}
nedan följer sedan olika beräkningar
</code>
(vilkoret blir falskt när end of file uppstått) Hur kan jag ändra loopen så att den reagerar på 0 Eller -.Sv: Avbryt inmatning när vi får värdet 0 eller -
För att sedan lägga ihop det hela till ett tal som du kan använda, använd strcatSv: Avbryt inmatning när vi får värdet 0 eller -
Om det inmatade talet är 0 eller negativt så löser man det enklast på följande sätt:
while (scanf("%f", &tal) &tal > 0 )Sv: Avbryt inmatning när vi får värdet 0 eller -
Sv: Avbryt inmatning när vi får värdet 0 eller -