Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Le soluzioni FSP per il 2026: potenza e IA al centro
Le soluzioni FSP per il 2026: potenza e IA al centro
In occasione del Tech Tour 2025 della European Hardware Association abbiamo incontrato a Taiwan FSP, azienda impegnata nella produzione di alimentatori, chassis e soluzioni di raffreddamento tanto per clienti OEM come a proprio marchio. Potenze sempre più elevate negli alimentatori per far fronte alle necessità delle elaborazioni di intelligenza artificiale.
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS è il principale operatore di servizi cloud al mondo e da tempo parla delle misure che mette in atto per garantire una maggiore sovranità alle organizzazioni europee. L'azienda ha ora lanciato AWS European Sovereign Cloud, una soluzione specificamente progettata per essere separata e distinta dal cloud "normale" e offrire maggiori tutele e garanzie di sovranità
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Xiaomi ha portato sul mercato internazionale la nuova serie Redmi Note, che rappresenta spesso una delle migliori scelte per chi non vuole spendere molto. Il modello 15 Pro+ punta tutto su una batteria capiente e su un ampio display luminoso, sacrificando qualcosa in termini di potenza bruta e velocità di ricarica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-01-2002, 18:31   #1
Al è qui
Member
 
L'Avatar di Al è qui
 
Iscritto dal: Jul 2001
Messaggi: 42
[C++] Un listato strano

Ho provato a compilare questo listato, ma oltre a fare una fatica bestiale per compilarlo correttamente, una volta che lo uso ha comportamente assolutamente inspiegabili, come un loop sulla richiesta se continuare o meno con il progz.
Richiede:
continuare? con le opzioni Y e N
se metto s
si impalla e spara righe sul terminale in modo infinito.
Vi metto il listato:
--
#include <fstream.h>
#include <string.h>
#include <conio.h>
#include<alloc.h>
#include<iostream.h>
class person


{
public:
char name[20];
int age;
person()


{
age=0;
strcpy(name,"");
};
void getdata()


{
cout<<"Enter your name::";
cin>>name;
cout<<"Enter your age::";
cin>>age;
}
void showdata()


{
cout<<"NAME:::"<<name<<endl;
cout<<"AGE:::"<<age;
cout<<endl<<endl;
}

};
void main()


{
int choice,flag=0,age1;
char name1[20],ch='y',name2[20];
person pers;
fstream file,temp;
do


{
file.open("file.txt",ios::app|ios::out|ios::in);
temp.open("temp.txt",ios::app|ios::out|ios::in);
cout<<"**********MAIN MENU**********"<<endl<<endl;
cout<<" Press 1 to add a record"<<endl<<endl;
cout<<" Press 2 to read a record"<<endl<<endl;
cout<<" Press 3 to edit a record"<<endl<<endl;
cout<<" Press 4 to delete a record"<<endl<<endl;
cout<<" Press 5 to quit"<<endl<<endl;
cout<<"Enter::";cin>>choice;
switch(choice)


{
case 1:
do


{
pers.getdata();
file.write((char *)&pers,sizeof(pers));
cout<<"Do you want to continue::"<<endl;
cin>>ch;
}while(ch=='y' || ch=='Y');
continue;
case 2:
file.seekg(0);
do


{
file.seekg(0);
cout<<"Enter the name::";
cin>>name1;
file.read((char *)&pers,sizeof(pers));
while(!file.eof())


{
if(strcmp(pers.name,name1)==0)


{
flag=1;
break;
}
else
{
flag=0;
}
file.read((char *)&pers,sizeof(pers));
}
if (flag==1)


{
pers.showdata();
cout<<"Do you want to continue::";
cin>>ch;
if (ch=='y' || ch=='Y')
continue;
else
break;
}
else


{
cout<<"Record does not exist"<<endl;
cout<<"Do you want to continue::"<<endl;
cin>>ch;
if (ch=='y' || ch=='Y')


{
file.close();
file.open("file.txt",ios::app|ios::out|ios::in);
continue;
}
else
break;

}

}while(ch=='y' || ch=='Y');
continue;
case 3:
file.seekg(0);
do


{
file.seekg(0);
cout<<"Enter the name you want to edit::";
cin>>name1;
file.read((char *)&pers,sizeof(pers));
while(!file.eof())


{
if(strcmp(pers.name,name1)==0)


{
flag=1;
break;
}
else
{
flag=0;
}
file.read((char *)&pers,sizeof(pers));
}
if (flag==1)


{
pers.showdata();
cout<<"Enter new name::";
cin>>name2;
cout<<"Enter new age::";
cin>>age1;
strcpy(pers.name,name2);
pers.age=age1;
temp.write((char *)&pers,sizeof(pers));
file.seekg(0);
cout<<"heloooooooo";
while(!file.eof())


{
file.read((char *)&pers,sizeof(pers));
if(strcmp(pers.name,name1)!=0)


{
temp.write((char *)&pers,sizeof(pers));
file.read((char *)&pers,sizeof(pers));
}
}
file.close();
temp.close();
system("del file.txt");
system("ren temp.txt file.txt");
cout<<"Do you want to continue::";
cin>>ch;
if (ch=='y' || ch=='Y')
continue;
else
break;
}
else


{
cout<<"Record does not exist"<<endl;
cout<<"Do you want to continue::"<<endl;
cin>>ch;
if (ch=='y' || ch=='Y')


{
file.close();
file.open("file.txt",ios::app|ios::out|ios::in);
continue;
}
else
break;

}

}while(ch=='y' || ch=='Y');
continue;
case 4:
file.seekg(0);
do


{
file.seekg(0);
cout<<"Enter the name you want to delete::";
cin>>name1;
file.read((char *)&pers,sizeof(pers));
while(!file.eof())


{
if(strcmp(pers.name,name1)==0)


{
flag=1;
break;
}
else
{
flag=0;
}
file.read((char *)&pers,sizeof(pers));
}
if (flag==1)


{
pers.showdata();
file.seekg(0);
while(!file.eof())


{
file.read((char *)&pers,sizeof(pers));
if(strcmp(pers.name,name1)!=0)


{
temp.write((char *)&pers,sizeof(pers));
file.read((char *)&pers,sizeof(pers));
}
}
file.close();
temp.close();
system("del file.txt");
system("ren temp.txt file.txt");

cout<<"Do you want to continue::";
cin>>ch;
if (ch=='y' || ch=='Y')
continue;
else
break;
}
else


{
cout<<"Record does not exist"<<endl;
cout<<"Do you want to continue::"<<endl;
cin>>ch;
if (ch=='y' || ch=='Y')


{
file.close();
file.open("file.txt",ios::app|ios::out|ios::in);
continue;
}
else
break;

}

}while(ch=='y' || ch=='Y');
continue;
case 5:
break;
default:
break;
}
}while(choice!=5);
}
--
Avete idee?
Compilato con Borland e Dev-C++
Al
__________________
I just say whatever I want to whoever I want
Whenever I want, wherever I want, however I want
However, I do show some respect to few - Em
Al è qui è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2002, 01:17   #2
/\/\@®¢Ø
Bannato
 
L'Avatar di /\/\@®¢Ø
 
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
Ciao !
Leggere il tuo listato e' agevole... ti converrebbe spezzare il codice in qualche funzione in piu'.
Che versione e' del compilatore ? Non dovresti includere iostream.h string.h e fstream.h, sono degli header vecchi, mantenuti per compatibilita', dovresti usare al loro posto iostream , string e fstream ( senza il .h ).
alloc.h e conio.h non dovrebbero servirti inoltre ( se non ho saltato qualche riga durante la lettura .... )
Perche' concludi i 'case' con il continue ? Non sarebbe piu' opportuno un break ? ( Parlo dello switch che gestisce le opzioni del menu )
Magari e' quello che ti causa problemi
/\/\@®¢Ø è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2002, 09:15   #3
Al è qui
Member
 
L'Avatar di Al è qui
 
Iscritto dal: Jul 2001
Messaggi: 42
Proverò a cambiare come hai detto, però non l'ho messo e mi scuso, quasto listato non è mio, l'ho trovato in rete.

Effettivamente avevo pensato anche io allo switch oggi provo.
La cosa più strana è che ad un mio amico invece funziona egregiamente.

mah!
Al
__________________
I just say whatever I want to whoever I want
Whenever I want, wherever I want, however I want
However, I do show some respect to few - Em
Al è qui è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2002, 04:08   #4
LuCaP78
Senior Member
 
L'Avatar di LuCaP78
 
Iscritto dal: Jun 2001
Città: RiCcIoNe
Messaggi: 105
Re: [C++] Un listato strano

Quote:
Originariamente inviato da Al è qui
[b]Ho provato a compilare questo listato, ma oltre a fare una fatica bestiale per compilarlo correttamente, una volta che lo uso ha comportamente assolutamente inspiegabili, come un loop sulla richiesta se continuare o meno con il progz.
Richiede:
continuare? con le opzioni Y e N
se metto s
si impalla e spara righe sul terminale in modo infinito.
Vi metto il listato:
--
#include <fstream.h>
#include <string.h>
#include <conio.h>
#include<alloc.h>
#include<iostream.h>
class person


{
public:
char name[20];
int age;
person()


{
age=0;
strcpy(name,"");
};
void getdata()


{
cout<<"Enter your name::";
cin>>name;
cout<<"Enter your age::";
cin>>age;
}
void showdata()


{
cout<<"NAME:::"<<name<<endl;
cout<<"AGE:::"<<age;
cout<<endl<<endl;
}

};
void main()


{
int choice,flag=0,age1;
char name1[20],ch='y',name2[20];
person pers;
fstream file,temp;
do


{
file.open("file.txt",ios::app|ios::out|ios::in);
temp.open("temp.txt",ios::app|ios::out|ios::in);
cout<<"**********MAIN MENU**********"<<endl<<endl;
cout<<" Press 1 to add a record"<<endl<<endl;
cout<<" Press 2 to read a record"<<endl<<endl;
cout<<" Press 3 to edit a record"<<endl<<endl;
cout<<" Press 4 to delete a record"<<endl<<endl;
cout<<" Press 5 to quit"<<endl<<endl;
cout<<"Enter::";cin>>choice;
switch(choice)


{
case 1:
do


{
pers.getdata();
file.write((char *)&pers,sizeof(pers));
cout<<"Do you want to continue::"<<endl;
cin>>ch;
}while(ch=='y' || ch=='Y');
continue;
case 2:
file.seekg(0);
do


{
file.seekg(0);
cout<<"Enter the name::";
cin>>name1;
file.read((char *)&pers,sizeof(pers));
while(!file.eof())


{
if(strcmp(pers.name,name1)==0)


{
flag=1;
break;
}
else
{
flag=0;
}
file.read((char *)&pers,sizeof(pers));
}
if (flag==1)


{
pers.showdata();
cout<<"Do you want to continue::";
cin>>ch;
if (ch=='y' || ch=='Y')
continue;
else
break;
}
else


{
cout<<"Record does not exist"<<endl;
cout<<"Do you want to continue::"<<endl;
cin>>ch;
if (ch=='y' || ch=='Y')


{
file.close();
file.open("file.txt",ios::app|ios::out|ios::in);
continue;
}
else
break;

}

}while(ch=='y' || ch=='Y');
continue;
case 3:
file.seekg(0);
do


{
file.seekg(0);
cout<<"Enter the name you want to edit::";
cin>>name1;
file.read((char *)&pers,sizeof(pers));
while(!file.eof())


{
if(strcmp(pers.name,name1)==0)


{
flag=1;
break;
}
else
{
flag=0;
}
file.read((char *)&pers,sizeof(pers));
}
if (flag==1)


{
pers.showdata();
cout<<"Enter new name::";
cin>>name2;
cout<<"Enter new age::";
cin>>age1;
strcpy(pers.name,name2);
pers.age=age1;
temp.write((char *)&pers,sizeof(pers));
file.seekg(0);
cout<<"heloooooooo";
while(!file.eof())


{
file.read((char *)&pers,sizeof(pers));
if(strcmp(pers.name,name1)!=0)


{
temp.write((char *)&pers,sizeof(pers));
file.read((char *)&pers,sizeof(pers));
}
}
file.close();
temp.close();
system("del file.txt");
system("ren temp.txt file.txt");
cout<<"Do you want to continue::";
cin>>ch;
if (ch=='y' || ch=='Y')
continue;
else
break;
}
else


{
cout<<"Record does not exist"<<endl;
cout<<"Do you want to continue::"<<endl;
cin>>ch;
if (ch=='y' || ch=='Y')


{
file.close();
file.open("file.txt",ios::app|ios::out|ios::in);
continue;
}
else
break;

}

}while(ch=='y' || ch=='Y');
continue;
case 4:
file.seekg(0);
do


{
file.seekg(0);
cout<<"Enter the name you want to delete::";
cin>>name1;
file.read((char *)&pers,sizeof(pers));
while(!file.eof())


{
if(strcmp(pers.name,name1)==0)


{
flag=1;
break;
}
else
{
flag=0;
}
file.read((char *)&pers,sizeof(pers));
}
if (flag==1)


{
pers.showdata();
file.seekg(0);
while(!file.eof())


{
file.read((char *)&pers,sizeof(pers));
if(strcmp(pers.name,name1)!=0)


{
temp.write((char *)&pers,sizeof(pers));
file.read((char *)&pers,sizeof(pers));
}
}
file.close();
temp.close();
system("del file.txt");
system("ren temp.txt file.txt");

cout<<"Do you want to continue::";
cin>>ch;
if (ch=='y' || ch=='Y')
continue;
else
break;
}
else


{
cout<<"Record does not exist"<<endl;
cout<<"Do you want to continue::"<<endl;
cin>>ch;
if (ch=='y' || ch=='Y')


{
file.close();
file.open("file.txt",ios::app|ios::out|ios::in);
continue;
}
else
break;

}

}while(ch=='y' || ch=='Y');
continue;
case 5:
break;
default:
break;
}
}while(choice!=5);
}
--
Avete idee?
Compilato con Borland e Dev-C++
Al
ma come fatea capire sta roba?!!?
__________________
" La PIADINA s'e PARSOT la PIS un po' MA TOT "

PIG FOREVER
LuCaP78 è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2002, 06:32   #5
V|RuS[X]
Bannato
 
L'Avatar di V|RuS[X]
 
Iscritto dal: May 2001
Città: Isla Bonita Sesso: Grande
Messaggi: 3244
Re: Re: [C++] Un listato strano

Quote:
Originariamente inviato da LuCaP78
[b]

ma come fatea capire sta roba?!!?

Lol
V|RuS[X] è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2002, 10:33   #6
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Come mai hai fatto tutte le funzioni della classe inline ? Se non sbaglio implementare le funzioni membro all'interno della classe implica farle inline...
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Le soluzioni FSP per il 2026: potenza e IA al centro Le soluzioni FSP per il 2026: potenza e IA al ce...
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa AWS annuncia European Sovereign Cloud, il cloud ...
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Il remake di Assassin's Creed IV: Black ...
Tutti i robot aspirapolvere in offerta s...
Amazon Haul spinge la promo di San Valen...
Offerte hardware Amazon per l'upgrade de...
iPhone 17e dovrà fare i conti con...
Offerte Amazon sugli iPhone di ultima ge...
DJI Mini 5 Pro Combo Fly More scende a 8...
Ubisoft potrebbe licenziare ancora ma se...
Samsung Galaxy S26: un leak anticipa col...
Aetherflux e Lockheed Martin insieme per...
SpaceX sta proseguendo i test della terz...
Axiom Space ha mostrato un nuovo video d...
Realme: la trasformazione in sub-brand d...
PlayStation 6 si farà attendere: ...
BWT Alpine chiude la prima tornata di pr...
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: 17:36.


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