20/01/10 20:23
spaho
il seguente prog. in c++ chiede all' utente di inserire nomi di alunni .. e con la funzione rand estrae qll ke devono essere inerrogati ..il problema e ke delle volte estrae gli stessi nomi ..volevo sapere se esiste un modo per estrarre nomi o numeri sempre diversi
ECCO LA SORGENTE IN C++:
#include<iostream.h>
#include<conio.h>
#include<windows.h>
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
#define k 5
main()
{
typedef char stringa[20];
stringa a[k];
int i,j;
for(i=0;i<k;i++)
{
cout<<"inserisci il "<<i<<" nome :";
cin>>a[i];
}
for(j=0;j<k;j++)
{
i=rand()%5;
cout<<"\n"<<a[i];
Sleep(1000);
}
getch();
}
EDIT by HeDo: Leggi il regolamento, il codice si racchiude tra i tag code
Ultima modifica effettuata da HeDo 21/01/10 1:59
aaa
20/01/10 20:36
nessuno
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
20/01/10 20:39
Poggi Marco
Ultima modifica effettuata da Poggi Marco 20/01/10 21:06
aaa
20/01/10 23:31
Lawliet
Ma stai creando un programma in C o C++?
A che ti servono tutte quelle librerie!?
Comunque, ci sono un bel pò di errori nel tuo programmino.
A partire che manca la
using namespace std;
Sbagli a salvare la stringa nel vettore di stringhe cin>>a; dovrebbe essere così
cin >> a[i];
La sleep, io l'ho sempre scritta in così
_sleep(1000);
forse è lo stesso ma non ne sono sicuro, altra cosa: la
getch();
che funzione è!? Che io sappia c'è solo la getc(); o getchar(); però se ti serve su windows per bloccare la schermata allora c'è la funzione:
system("pause");
Ma già che ci sei perchè non usi le classi del C++? Ad esempio la classe string, invece di dichiarare array di char come in C.
Ultima modifica effettuata da Lawliet 20/01/10 23:36
aaa
21/01/10 12:25
gio97
Quoto Lawliet, è un po' un disastro: innanzitutto come include basta <iostream>, <cstdlib>, <string> TUTTI SENZA .H. Tu hai incluso conio, windows, stdio ma non hanno senso, perché non servono, stdio ancora peggio è di C, non C++, in C++ devi chiamarla cstdio, ma non farlo, perché in iostream ci sono tutte le classi che ti servono, poi hai incluso string, ma se poi usi un array di char, che si usa in C, non C++, non serve a nulla.
E una volta incluse le librerie necessarie: use namespace std. Poi quella dichiarazione typedef char stringa[20] non ha senso se poi fai una "stringa" di 5.
Stesso consiglio: un bel LIBRO di C++.
aaa
21/01/10 14:17
nessuno
Postato originariamente da gio97:
...
E una volta incluse le librerie necessarie
Con gli #include non si "includono librerie" ma i file header ... e c'è differenza ...
un bel LIBRO di C++.
Per questo basta anche un libro di C ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.