|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 | |
|
Junior Member
Iscritto dal: Feb 2011
Messaggi: 11
|
Passaggio di un vettore multidimensionale a una funzione!
Salve ragazzi, ho un problema con un esercizio che sto svolgendo:
vi spiego la traccia: devo realizzare un programma che carichi un elenco di nome e cognome e che mi stampi la stessa su desktop....e che effettui una ricerca di un nome o cognome nell'elenco utilizzando una funzione. quello a cui avevo pensato è questo: Quote:
Sapreste indicarmi dove commetto l'errore? graazie Ultima modifica di managerfx : 18-03-2011 alle 15:32. |
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2006
Messaggi: 3808
|
se definisci e includi la funzione prima del main il prototipo ( la sola dichiarazione della funzione ) è inutile.
rileggi bene il programma, ci sono un paio di errori evidenti, chiediti cosa deve ritornare la funzione, di che tipo quindi deve essere e se è necessario che sia tipata, e come avviene il passaggio di vettori ( che sono comunque puntatori ) nel C. |
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Feb 2011
Messaggi: 11
|
in effetti ho sbagliato il tipo della funzione che al posto di "char" deve essere "int"...il problema è che proprio non ricordo come cavolo si passano i vettori alle funzioni....il discorso "puntatori" non me lo ricordo proprio!
che devo dirvi....mi basta anche una giuda....dato che sul libro non ho trovato niente! grazie ancora! PS: non ho mai capito a che serve il prototipo della funzione! mi sapreste chiarire le idee a riguardo??? |
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Feb 2011
Messaggi: 11
|
c'è qualcuno che sa darmi una dritta???
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Oct 2004
Messaggi: 1945
|
Ti consiglio di indentare bene il codice... io non mi ci metto proprio a leggere un codice non indentato..ti fa perdere il filo
comunque come ti ha detto Freaxxx ci sono "almeno" 2 grossi errori... modifica il codice e indentalo |
|
|
|
|
|
#6 |
|
Junior Member
Iscritto dal: Feb 2011
Messaggi: 11
|
non mi esce indentato!
|
|
|
|
|
|
#7 |
|
Junior Member
Iscritto dal: Feb 2011
Messaggi: 11
|
ecco il file indentato.....avevo sbagliato a copiarlo! sorry
Codice:
#include <stdio.h>
#include <stdlib.h>
#define righe 100
#define colon 2
#define caratteri 30
char ricerca (char, char, int); /*PROTOTIPO DELLA FUZIONE*/
/*funzione ricerca*/
int ricerca (char lista[righe][colon], char x, int n)
{int i, j;
for (i=0; i<n; i++)
{
for (j=0; j<colon; j++)
{
if (x == lista[i][j])
return 1;
}
}
return 0;
}
/*main*/
int main ()
{
char lista [righe][colon][caratteri], x[caratteri];
int n, scelta, i, j, y=1, flag=0;
do
{printf ("\n\n CREAZIONE LISTA...");
do
{
printf ("\n\nInsierisci il numero di item da catalogare: ");
scanf ("%d", &n);
}
while (n>righe || n <=0);
for (i=0; i<n; i++)
{
for (j=0; j<colon; j++)
{
printf ("\n");
printf (".%d^ NOME: ", i+1);
scanf ("%s", lista[i][j]);
j=j+1;
printf (".%d^ COGNOME: ", i+1);
scanf ("%s", lista[i][j]);
}
}
/*STAMPA*/
printf ("\n\n\_____________STAMPA___________\n\n", i+1);
for (i=0; i<n; i++)
{
printf ("%d. ", y);
for (j=0; j<colon; j++)
{
printf ("%s |", lista[i][j]);
printf (" ", lista[i][j]);
}
printf ("\n\n");
y=y+1;
}
/* RICERCA ITEM*/
printf ("\n\n Vuoi effettuare una ricerca? 1= SI 2= NO: ");
scanf ("%d", &scelta);
if (scelta==1)
{
printf ("\n\n - Inserisci item da ricercare: ");
scanf ("%s", &x);
flag=ricerca(lista[righe][colon][caratteri], x, n);
if (flag == 1)
printf ("\n\n ELEMENTO TROVATO!!! ");
else
printf ("\n\n NON TROVATO!!! ");
}
scelta=0;
printf ("\n\n\n\n Premi 1 per ripetere: ");
scanf ("%d", &scelta);
} while (scelta == 1);
system ("pause");
return 0;
}
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:06.



















