Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Schimbare adresa DNS IPv4 pe rout...

Recomandare Barebone

Monede JO 2024

Suprasolicitare sistem electric
 CIV auto import

Mutare in MOZAMBIC - pareri, expe...

Scoatere antifurt airtag de pe ha...

Magnet in loc de clește pent...
 Cumparat/Locuit in apartament si ...

Pot folosi sistemul PC pe post de...

Sokol cu distorsiuni de cross-over

Filtru apa potabila cu osmoza inv...
 Kanal D va difuza serialul “...

Upgrade xiaomi mi11

securitate - acum se dau drept - ...

Farmacia Dr Max - Pareri / Sugest...
 

Limitare maxim numar introdus de la tastatura

- - - - -
  • Please log in to reply
6 replies to this topic

#1
SpiritualHealer

SpiritualHealer

    Junior Member

  • Grup: Members
  • Posts: 44
  • Înscris: 24.02.2010
Salutare, am lucrat la un programel simplu care face o medie a clasei si as dori sa impun o limita, pentru a nu se putea introduce nota mai mare de 10, pe net nu am prea gasit ceva ce sa ma ajute, ma poate ajuta cineva?

Aici este si codul:

#include <stdio.h>
#include <stdlib.h>
int main()
{
int nrnote, note, total;
float medie;
total=0;
nrnote=0;

printf("Introduceti nota, tastati -1 pentru terminare:\n");
scanf("%d", &note);
while(note != -1) {
	 total = total + note;
	 nrnote = nrnote + 1;
	 printf("Introduceti urmatoarea nota, tastati -1 pentru terminare\n");
	 scanf("%d", &note);
}//while
if (nrnote != 0 ){
	 medie = (float) total / nrnote;
	 printf("Media clasei este: %.2f\n", medie);
}//if
else {
	 printf("Nici o nota nu a fost introdusa!\n\a");
}//else
return 0;
}



#2
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,236
  • Înscris: 24.02.2007
Verifici valoarea si atentionezi utilizatorul ca n-a introdus ceva valid.

#3
rinser

rinser

    Active Member

  • Grup: Members
  • Posts: 1,606
  • Înscris: 03.11.2010
if (note > 10){iesi afara} else {
while(note != -1) {
		 total = total + note;
		 nrnote = nrnote + 1;
		 printf("Introduceti urmatoarea nota, tastati -1 pentru terminare\n");
		 scanf("%d", &note);
}//while
if (nrnote != 0 ){
		 medie = (float) total / nrnote;
		 printf("Media clasei este: %.2f\n", medie);
}//if
else {
		 printf("Nici o nota nu a fost introdusa!\n\a");
}//else
return 0;

}

Edited by rinser, 28 August 2015 - 18:51.


#4
SpiritualHealer

SpiritualHealer

    Junior Member

  • Grup: Members
  • Posts: 44
  • Înscris: 24.02.2010
Mersi frumos!

#5
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,440
  • Înscris: 10.08.2005
de ce
while(note != -1)
?

#6
VladBtz

VladBtz

    Active Member

  • Grup: Members
  • Posts: 1,702
  • Înscris: 24.09.2014
Ca sa faci o medie a clasei nu trebuie mai intai sa specifici cati elevi sunt in clasa aia? De ce doar mai mare ca 10 cand pot sa introduc si 0? Scanf (&nrelevi) mai intai si dupa:


valoareinitiala = nrelevi;

for (int i=1; i<=nrelevi ;i++) {
Scanf(&nota)
if(nota>10 || nota <1 ) {
printf ("valoarea gresita introduceti alta")
nrelevi++;
}
else total += nota;
}

medie = (float) total / valoareinitiala ;
printf (medie);


si te scuteste de prostia aia cu -1 si restu . puteai sa afisezi direct operatia fara sa stochezi in medie . sunt obisnuit cu c++ , pui tu scanf si printf cum trebuie da? unde nu intelegi ma intrebi.

Edited by VladBtz, 29 August 2015 - 17:12.


#7
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,440
  • Înscris: 10.08.2005
media unei clase este constituita din suma mediilor fiecarui elev impartita la numarul de elevi

prin natura sistemului, acea suma (total) orium este de tip float

size_t count;
	float grade, sum = 0, average;
average = sum / count


Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate