|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
|
[C++]Non riesco a trovare un errore
Ecco il codice:
Codice:
#include "stdafx.h"
#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <iomanip.h>
#include <stdlib.h>
struct struttura_dipendente
{
char codice[5];
char nome[50];
char cognome[50];
float stipendio;
};
typedef struttura_dipendente dipendenti;
struct lista_dipendenti
{
dipendenti info;
struct lista_dipendenti *next;
};
typedef lista_dipendenti lista;
void inserisci(void);
void visualizza(void);
bool controllo_lista(void);
lista *punt_lista=NULL;
char cerca[5];
int main(int argc, char* argv[])
{
int scelta;
bool controllo;
do
{
cout <<setw (25) <<"\nMENU' PRINCIPALE";
cout <<setw (15) <<"\n1)Inserisci Dipendente";
cout <<setw (15) <<"\n2)Ricerca Dipendente";
cout <<setw (15) <<"\nUscita";
cout <<setw (25) <<"Scelta: ";
cin >>scelta;
switch (scelta)
{
case 1: inserisci();
break;
case 2: controllo=controllo_lista();
if(controllo==false)
cout <<"Non hai inserito nessun dipendente in lista";
else
visualizza();
break;
case 0: exit(EXIT_SUCCESS);
default: cout <<"Opzione Inesistente";
}
} while (scelta!=0);
return 0;
}
//Definizione delle funzioni
void inserisci ()
{
register lista *p;
system ("cls");
p=new lista;
cout <<setw (25) <<"\nIscrizione Nuovo Dipendente";
cout <<"\nInserisci il codice di riconoscimento del dipendente: ";
cin >>p->info.codice;
cin.ignore(80,'\n');
cout <<"\nInserisci il nome del dipendente: ";
cin.getline(p->info.nome,50);
cout <<"\nInserisci il cognome del dipendente: ";
cin.getline(p->info.cognome,50);
cout <<"\nInserisci lo stipendio del dipendente: ";
cin >>p->info.stipendio;
if(punt_lista==NULL)
{
p->next=NULL;
punt_lista=p;
}
else
{
p->next=punt_lista;
punt_lista=p;
}
}
void visualizza ()
{
bool trovato=false;
register lista *p;
system ("cls");
for(p=punt_lista;p!=NULL,trovato==false;p=p->next)
{
if(strcmp(cerca,p->info.codice)==0)
{
trovato=true;
cout <<setw (25) <<"\nDipendete Trovato!";
cout <<"\nNome: " <<p->info.nome;
cout <<"\nCognome: " <<p->info.cognome;
cout <<"\nStipendio: " <<p->info.stipendio;
}
}
if(trovato==false)
cout <<"Codice Inesistente";
}
bool controllo_lista()
{
if(punt_lista==NULL)
return false;
else
return true;
}
Ultima modifica di Gogeta ss4 : 17-09-2004 alle 15:34. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Questo corregge l'access violation:
Codice:
--- lista.cpp.org 2004-09-17 15:38:51.000000000 +0200
+++ lista.cpp 2004-09-17 15:42:37.000000000 +0200
@@ -94,7 +94,7 @@
bool trovato=false;
register lista *p;
system ("cls");
- for(p=punt_lista;p!=NULL,trovato==false;p=p->next)
+ for(p=punt_lista;p!=NULL && trovato==false;p=p->next)
{
if(strcmp(cerca,p->info.codice)==0)
{
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
|
LoL
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
|
Adesso funzia tutto, senti nel main non mi vede le setw come mai ??
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Boh io ho messo un bel
#define setw(x) "" per compilarlo sul mio computer (con linux) Non conosco quella funzione.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
|
in pratica dovrebbe spostare di 4 spazi verso destra e poi scrivere MENU' PRINCIPALE ma non lo fa, sai come fare ?
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
|
messo apposto
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:13.



















