Newsgroup: it.comp.lang.c
Titolo: vettori non funzionano!!

Scusate se vi disturbo ma mentre leggevo la guida di 
www.html.it
 sul C ho
trovato molti errori e a questa pagina
http://programmazione.html.it/c/c_11.htm
  c'è un esercizio che non riesco a
compilare perchè sicuramente
sbagliato ma non capisco come metterlo a posto.
questo è il codice sorgente:
#include <stdio.h>
#include <stdlib.h>
void inserisci(int tab_voto, char tab_alunno, int dimensione)
{
  for (i=0; i<dimensione; i++)
  printf("Inserisci il Nome_Cognome, poi premi Invio:\n");
  scanf("%s", &tab_alunno);
  printf("Inserisci il voto del suo compito:\n");
  scanf("%d", &tab_voto);
  return;
}
void stampa(int tab_alunno, char tab_alunno, int dimensione)
{
  printf("Stampa del tabulato del compito:\n");
  for (i=0; i<dimensione; i++)
  printf("L'alunno %s ha riportato", tab_alunno[i]);
  printf("il seguente voto:%d \n", tab_voto[i]);
  return 0;
}
int main()
{
  int x=20; /* suppongo che il nome/cognome non
  siano lunghi più di 20 caratteri*/
  int tab_v;
  string tab_al[];
  inserisci(tab_v, tab_al, x);
  stampa(tab_v, tab_al, x);
return EXIT_SUCCESS;
}
Ho provato a sistemarlo dato che sono parecchi gli errori presenti ma quando
credevo di averlo sistemato...non ha funzionato come doveva
So che non dovrei chiederlo ma mi piacerebbe ricevere il prog. già
ricompilato in maniera esatta poi me lo guardero' attentamente per capire
cosa dovevo cambiare.
Grazie
#zerocky#

   stampa(tab_v, tab_al, x);
tab_alunno è un vettore di char, per cui lo devi passare 
come vettore e non come example 
char tab_alunno[20]
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

#zerocky#
Se ti posso dare un consiglio abbandona immediatamente
quel sito web. A quanto pare siamo di fronte ad un
altro caso di qualcuno che non sa niente (ma proprio
niente) e che si mette ad insegnare :(
A volte chi comincia adesso mi fa un po' pena... ai miei
tempi circolavano molte meno informazioni sulla
programmazione e quindi il tempo lo si passava a cercare
di capire. Fuor di dubbio e' che tra il non avere
indicazioni ed avere indicazioni totalmente errate (come
quelle fornite da questo *criminale* corso di C) io credo
sia meglio non avere indicazioni. Quindi chi comincia
ora forse e' addirittura svantaggiato da internet (!)
Andrea

ora forse e' addirittura svantaggiato da internet (!)
A me sembra anche che l'autore (Guido Nardo, 
gna...@html.it
)
abbia le idee confuse a riguardo del linguaggi in generale.
<CITAZIONE>
Il C è un linguaggio di programmazione di tipo imperativo,
il programma cioè viene scritto un file in codice sorgente,
successivamente viene compilato e, se non ci sono errori,
viene eseguito. 
</CITAZIONE>
Il "cioe'" in questione *dovrebbe* spiegare perche' il C e'
un linguaggio imperativo (!).
<CITAZIONE>
Il problema dei linguaggi imperativi è che sono legati alla
piattaforma in cui vengono compilati. 
</CITAZIONE>
Domanda: i linguaggi vengono compilati ?
<CITAZIONE>
Se noi compiliamo un programma sotto Unix, quel programma
potra' girare esclusivamente su sistemi operativi Unix. 
In linguaggi di programmazione come Java, che sono di tipo
interpreti, viene analizzato il codice sorgente, viene
compilato riga per riga e sarà il web browser a occuparsi di
farlo eseguire (es: Explorer, Netscape, Opera, ecc.). 
</CITAZIONE>
A parte il fatto che tutti i linguaggi vengono compilati
"riga x riga", non ditemi, vi prego, che l'autore ha confuso
Java con Javascript, perche' lo si potrebbe bastonare per
questo.
<CITAZIONE>
Ciò comporta tuttavia che l'esecuzione di un programma
interpretato sarà molto più lenta di quella dello stesso
programma scritto in linguaggio imperativo 
</CITAZIONE>
Torna il micidiale "linguaggio imperativo" a fare da
spartiacque anche sulla velocita' !!!
Ma perche' i miei programmi LISP e Prolog devono essere piu'
lenti dei suoi, scritti in C ???
<CITAZIONE>
ma, d'altro canto, il codice che scrivo sarà portatile cioè
potrò eseguirlo in sistemi operativi diversi. 
</CITAZIONE>
E certo, mentre coi linguaggi funzionali, tipicamente, non
e' cosi' !!!.
Un altro gioiello che vi consiglio di incorniciare:
<CITAZIONE>
#include <stdio.h>
#include <stdlib.h>
int main(){
  char a,b;
  printf("Inserisci il primo carattere:");
  scanf("%c", &a);
  printf("Inserisci il secondo carattere:");
  scanf("%c", &b);
  printf("Il nome inserito è:%c\n", a);
  printf("Il cognome inserito è:%c\n", b);
return (0);
}
In questo caso, per rendere più leggibile i risultati
stampati a video, ho utilizzato l'opzione \n alla fine del
commento nella funzione printf. \n sta ad indicare un
ritorno a capo e il risultato del programma sarà il
seguente: 
      Il nome inserito è
      Mario
      Il cognome inserito è
      Rossi
</CITAZIONE>
Ce ne sono di ancora piu' belle ma non ho il coraggio di
riportarle: condivido il messaggio di A. Griffini, abbandona
questo corso *criminale*.
-- 
Andrea Laforgia (
walkie...@libero.it
)
"Usenet is a strange place" [Dennis Ritchie]

questo corso *criminale*.
ROTFL 
ma chi gli ha dato la "licenza di uccidere" a quello li? :)
--
Lawrence "Rhymes" Oluyede
rhy...@myself.com
Redattore di HiT
http://hit.edengames.net

Sono felice che qualcuno mi dia appoggio sostenendo che questo non è un
corso di C ma una somma di cazzate immani!!!
Ho deciso di comprarmi un libro di C perchè mi hanno assicurato che almeno
li non dovrei trovare tutte queste idiozie....voi che ne dite??
In effetti mi hanno anche detto che ci sono manuali in inglese fatti molto
bene ma per ora l'inglese non lo mastico molto bene quindi cerchero' un
libro in italiano...avete suggerimenti???
Grazie mille per tutto...
#zerocky#

libro in italiano...avete suggerimenti???
Il Deitel&Deitel e' stato consigliato molte volte, insieme
al Kelley-Pohl.  Personalmente non li ho letti, ma ho letto
il K&R I e II edizione (quella che, eventualmente, dovresti
acquistare e' la II edizione).
K&R sta per Kernighan & Ritchie, il primo e' coautore di
Unix, il secondo ha inventato il C... fai tu ;)


questo.
Beh, sul Java ci ha preso in parte... il bytecode alla fine viene
interpretato :)  Che poi lui ignori che in mezzo ci sta' una fase di
compilazione e' un'altro discorso :P
-- 
Mox

libro in italiano...avete suggerimenti???
Che tu li compri in italiano o in inglese evita lo Shildt come la
peste :)
-- 
Mox


il resto è molto incasinato comunque inizia con questo.

perchè sennò legge l'invio come il valore del voto.
Errore: fflush() non e' definito su stream di input. Devi usare
un'altro metodo.
In C standard puoi fare:
<CODE>
while (getchar() != '\n')
    ;
</CODE>
-- 
Mox

come libro, non è molto approfondito rispetto al c ma per sistemarti le idee
è molto chiaro(l'ho usato per dare info 1 a ing. informatica a politecnico
di milano):
TITOLO:
Informatica
programmazione
AUTORI:
Stefano ceri
Dino mandrioli
Licia Sbattella
Editore:
Mc-Graw Hill libri italia
Codice di identificazione(ISBN):
isbn 88 386 0779-6

perchè sennò legge l'invio come il valore del voto.
Comportamento indefinito.
fflush() e' definita SOLO per gli stream di output.
