Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla
Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla
Una ammiraglia elettrica, da sei o sette posti, con il comfort di viaggio come missione assoluta. Un'auto non per tutti, ma di cui ti innamori dopo pochi giorni, ecco com'è andata la nostra prova di lunga durata
LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e Dual Mode
LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e Dual Mode
Hyper Mini LED con 2.304 zone, DisplayPort 2.1 e Dual Mode: 5K a 165 Hz oppure QHD a 330 Hz: LG propone un monitor da gioco ma dalla buona versatilità creativa, con prestazioni interessanti e un listino di 1.220 euro. Peccato l'alimentatore ingombrante
Motorola edge 70 Fusion FIFA World Cup 26 Edition: un ottimo smartphone per i fan del calcio
Motorola edge 70 Fusion FIFA World Cup 26 Edition: un ottimo smartphone per i fan del calcio
Motorola edge 70 Fusion FIFA World Cup 26 Edition porta la maglia iridata su uno smartphone accessibile: display Extreme AMOLED da 6,78 pollici a 144Hz, fotocamera Sony LYTIA 710 con moto ai, Snapdragon 7s Gen 3 abbinato a 8GB di RAM, batteria da 5200 mAh con ricarica TurboPower a 68W e certificazione IP68/IP69, il tutto in una veste PANTONE Silhouette con logo dorato a 24 carati, moto buds bass incluse in confezione e contenuti software dedicati ai Mondiali 2026
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-04-2012, 19:38   #1
richyOCZ94
Member
 
Iscritto dal: Mar 2012
Messaggi: 50
C: Utilizzo Top Down e compilato crash immediato.

Salve chiedo aiuto perchè non so trovare l'errore
compilato con dev-cpp su windows 7 mi da sempre problemi...sapreste dirmi il perchè?

programma:

# include <stdio.h>
# include <stdlib.h>
int media();
int positivi();
int insufficienze();
int limite();
int inizializzazione();
int menu();
int opz;
int s[30];
int o[30];


int main()
{
printf("Programma di elaborazione voti informatica\n");
inizializzazione();
menu();
do {switch(opz)
{
case 1:
media();
break;
case 2:
positivi();
break;
case 3:
insufficienze();
break;
case 4:
limite();
break;
}
}
while (opz!=5);
}

int inizializzazione(int i)
{
for(i=0;i<30;i++)
{
do {printf("Inserire il voto scritto \ndell'alunno n' %d" , i+1);
scanf("%d" , s[i]);}
while(s[i]<1 || s[i]>10);
do {printf("Inserire il voto orale \ndell'alunno n' %d" , i+1);
scanf("%d" , o[i]);}
while(o[i]<1 || o[i]>10);
}
return s[i];
return o[i];
}

int media (int i,int cont, int media)
{
for(i=0;i<30;i++)
{
cont=0;
cont=s[i]+o[i];
cont=(cont)/(2);
printf("La media dei voti dell'alunno n' %d e' %d" , i+1, media);
}
}

int positivi (int cont,int i)
{
cont=0;
for(i=0;i<30;i++)
{
if (s[i]>6)
if (o[i]>6)
cont=cont+1;
}
printf("Il numero di voti positivi è %d" , cont);
}

int insufficienze (int i, int cont)
{
cont=0;
for(i=0;i<30;i++)
{
if (s[i]<6)
cont=cont+1;
}
printf("Nel test scritto ci sono state %d insufficienze ", cont);
}

int limite (int i,int cont,int limite)
{
cont=0;
do {printf("Inserire il limite");
scanf("%d" , limite);}
while(limite<1 || limite>10);
for (i=0;i<30;i++)
{
if (o[i]>limite)
cont=cont+1;
}
printf("Il numero di studenti che,\nnel compito orale hanno superato\nil limite di %d e' di %d" , limite ,cont);
}

int menu ()
{
printf("Inserire l'operazione da fare");
scanf("%d" , opz);
return opz;
}
richyOCZ94 è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2012, 19:45   #2
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
1) indenta il codice
2) cosa dovrebbe fare il tuo programma
3) descrivi il tuo errore
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2012, 19:54   #3
richyOCZ94
Member
 
Iscritto dal: Mar 2012
Messaggi: 50
deve utilizzare questi sotto programmi nella main e utilizzare le variabili globali dichiarate ma appena parte la main e inserisco il primo valore crasha
richyOCZ94 è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2012, 20:39   #4
AllerITA
Member
 
L'Avatar di AllerITA
 
Iscritto dal: Oct 2010
Città: Savona
Messaggi: 194
Scusa mi sembra che come hai utilizzato scanf sia sbagliato, devi usare il riferimento cioe' il puntatore alla variabile del vettore int corrispondente come descritto qui:

http://msdn.microsoft.com/en-us/libr...(v=VS.80).aspx

cioè dovrebbe essere:

se il vettore e' s[100] l'elemento i e' dato da s[i] quindi il riferimento a s[i] e'

(s+i)

quindi
scanf("%d",(s+i));

o

scanf("%d",&s[i]);

poi return ti fa uscire immediatamente dalla funzione quindi è inutile

return s[i];
return o[i];
perché il secondo return non è eseguito.

quando chiami inizializzazione
non passi nessun argomento a i
quindi e' settato in modo errato
e la funzione non dovrebbe uscire in modo normale.

EDIT ho riletto il codice e invece ho trovato l'inizializzazione di opz scusami
errore mio

errori simili li ho trovati sulle altre funzioni.

Poi correggetemi se sbaglio sono da anni a digiuno di C:
__________________
AMD Phenom II X6 3Ghz, MB Gigabyte 790xta-ud4 F4A, 4Gb Ram ddr3, HD Segate Barracuda 1T, SV ASUS GTX 560 Ti DirectCu II ,Monitor Philips 1920x1080 led 2 ms, Xbox360 Slim, Tablet Asus Transformer Pad TF300T, Gameboy Advance, Ipod Touch 16Gb

Ultima modifica di AllerITA : 27-04-2012 alle 20:57.
AllerITA è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2012, 21:28   #5
richyOCZ94
Member
 
Iscritto dal: Mar 2012
Messaggi: 50
non riesco a capire quel che vuoi dire....s è il nome del vettore e i e l'indice del for che mi va a indicare anche l'indice del vettore
richyOCZ94 è offline   Rispondi citando il messaggio o parte di esso
Old 28-04-2012, 09:19   #6
AllerITA
Member
 
L'Avatar di AllerITA
 
Iscritto dal: Oct 2010
Città: Savona
Messaggi: 194
Forse ti conviene studiare i puntatori alla memoria altrimenti non ne vieni fuori.
Procurati un buon manuale del C o del C++ perché l'argomento da trattare è molto lungo e complesso, ed e' la base della programmazione del C.
Se qualcun'altro e' in grado di spiegarlo in parole povere è ben accetto.
Purtroppo il C e' alquanto complesso per un principiante, devi studiare parecchio prima di creare un sorgente privo di errori.
E alle volte causa dimenticanze non basta.
Comunque prenditi un buon manuale del C++ o del C e studialo bene.
Guarda su Amazon o in una qualsiasi libreria accademica, io sono poco pratico
nel consigliarti lascio ad altri più in gamba di me di farlo al mio posto.
__________________
AMD Phenom II X6 3Ghz, MB Gigabyte 790xta-ud4 F4A, 4Gb Ram ddr3, HD Segate Barracuda 1T, SV ASUS GTX 560 Ti DirectCu II ,Monitor Philips 1920x1080 led 2 ms, Xbox360 Slim, Tablet Asus Transformer Pad TF300T, Gameboy Advance, Ipod Touch 16Gb
AllerITA è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla Hyundai Ioniq 9: dopo due settimane di test non ...
LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e Dual Mode LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e...
Motorola edge 70 Fusion FIFA World Cup 26 Edition: un ottimo smartphone per i fan del calcio Motorola edge 70 Fusion FIFA World Cup 26 Editio...
Renault 5 elettrica al giudizio definitivo: solo stupore iniziale o premi meritati? Renault 5 elettrica al giudizio definitivo: solo...
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix HONOR CHOICE Projector Air Pro: piccolo, portati...
Edge segue Chrome: a rischio molte esten...
Studi su batteri e archaea: la vita sull...
Claude Code, le diverse sessioni ora par...
I sistemi di sicurezza attuali non basta...
iPhone, nuove indiscrezioni sul modello ...
Le iconiche Sony WH-1000XM4 stanno per t...
TV 55 pollici in offerta: Xiaomi 4K a 32...
Robot per le piscine in offerta su Amazo...
Nessun downgrade a Vera e Rubin Ultra, s...
Ho costruito un agente IA locale dentro ...
TOP 10 Amazon del weekend, si inizia col...
Google sta costruendo un data center da ...
SSD NVMe 4TB in offerta: Acer Predator e...
Robot aspirapolvere in offerta su Amazon...
Musica e IA, la pacchia sta finendo: Sun...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:28.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v