|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Sep 2011
Messaggi: 9
|
uso dell' or in c++
ciao a tutti, mi serviva una mano per programmare in c++, a scuola stiamo iniziando ora il c però io volevo fare qualcosa col c++ e per certe cose trovo mille complicazioni. Uso il borland per programmare.
Sto cercando di fare un programma che mi dice se due numeri sono divisibili tra loro, indifferentemente da come siano messi. Innanzi tutto non so che librerie usare, io ho messo quelle che conosco, ma non credo servano per forza. A me serve che il ciclo while si ripeta se una delle due condizioni è vera. Io mi ricordo (da cose che avevo visto in pascal) che si usa il comando or ma non conosco la sintassi ne la trovo su google e non capisco perchè. Io ho scritto così: while (n1%n2==0) or (n1%n2==0) sicuramente or non si usa in questo modo, perchè borland me lo da come sbagliato. potete dirmi la corretta sintassi di or? se serve riporto tutto il programma. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 12862
|
Provare a programmare in un linguaggio senza quantomeno vederne la sintassi è un po' difficile...
Comincia a dare un'occhiata a questi: http://www.cplusplus.com/doc/tutoria...ram_structure/ http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/operators/ http://www.cplusplus.com/doc/tutorial/control/ PS: in alcune circostanze C++ può essere anche molto diverso dal C, se fate il C a scuola, studia prima il C. |
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Sep 2011
Messaggi: 9
|
si, lo so che dovrei mettermi a studiare dalle guide e ne ho trovate anche io 2, però mi vengono prima le idee per dei programmi che la voglia di studiare. Cercando ho scoperto che la funzione or (conosco le porte logiche e quindi tramite la tavola di verità ho capito che mi serve la funzione or) si usa mettendo || tra le due condizioni. Però sicuramente per usare questa funzione c' è una libreria che non ho incluso. Perchè mi da
[C++ Error] prova.cpp(14): E2188 Expression syntax sapete dirmi se per caso serve una libreria specifica per usare questa funzione? |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2007
Messaggi: 2267
|
Impossibile sia l'uso dell'operatore ||. Fa parte del C e del C++ standard quindi o hai un compilatore non standard (ma mi sembra strano) oppure l'errore è altrove.
Se nella riga che provoca l'errore hai posto: Codice:
while (n1%n2==0) || (n1%n2==0) Codice:
while ( (n1%n2==0) || (n1%n2==0) )
__________________
Concluso con:... |
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: Sep 2011
Messaggi: 9
|
grazie, era quello che mi serviva sapere, ma non capisco perchè il programma fatto così mi da questo errore al while, sarà che sono stanco:
[C++ Error] prova.cpp(27): E2451 Undefined symbol 'n2' #include <iostream.h> int main() { do { int n1,n2; //primo e secondo numero cout <<"questo programma ti dice se due numeri sono divisibili tra loro"<<endl; cout <<"inserisci il primo numero"<<endl; cin >>n1; //primo numero cout <<"inserisci il secondo numero"<<endl; cin >>n2; //secondo numero if ((n1%n2==0) || (n2%n1==0)) //se il resto tra il primo diviso il secondo o viceversa vale zero { cout <<"i due numeri sono tra loro divisibili"<<endl; } else //altrimenti { cout <<"i due numeri non sono divisibili tra loro"<<endl; } cout <<"se vuoi ricominciare premi 1"<<endl; cin >>n2; } while (n2==1); //se n2 vale 1 torna a do } |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 12862
|
Devi guardare dove sono dichiarate le variabili...
Ribadisco ancora una volta, non puoi pensare di programmare senza sapere la sintassi (e la semantica in questo caso) del linguaggio. Certo puoi procedere a tentativi ma ci metterai molto più tempo. E' come provare ad esprimere un concetto in turco senza conoscere la lingua turca, non so se mi spiego... |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
|
#8 | |
|
Junior Member
Iscritto dal: Sep 2011
Messaggi: 9
|
io le ho guardate le variabili. Ma ho fatto e visto altri programmi in questo modo, (col do while e la variabile che ormai posso utilizzare perchè non mi serve più) e funzionava il while. Io ho provato anche ad utilizzare una terza variabile. Ma la cosa non funziona comunque e vorrei capire dove sbaglio.
Quote:
|
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Feb 2003
Città: BG
Messaggi: 10145
|
Quote:
__________________
Mac mini M1,16GB,2TB,10Gbit;Satechi Hub NVMe;Samsung 990 Pro 4TB;WD My Passport for Mac 4TB / Logitech MX Keys;Logitech MX Vertical;Philips 288E2A;PreSonus Eris E3.5;HP LaserJet Pro M281fdw / QNAP TVS-871-i3-4G,8GB,8x WD Red CMR 6TB raid 6,QNAP QXG-2G1T-I225 / TP-LINK Archer GE800;QNAP QSW-1105-5T / iPhone 17 Pro Max 1TB;iPad mini 6 256GB;Apple Watch Ultra 2;AirPods Pro 2;Kindle Paperwhite 11 SE / LG OLED C2 48";Apple TV 4K 2021 64GB;Denon AVR-X2800H / Xbox Series X;Seagate Expansion Card 2TB |
|
|
|
|
|
|
#10 |
|
Junior Member
Iscritto dal: Sep 2011
Messaggi: 9
|
Ho provato a leggerlo sia in inglese, sia con la traduzione di google e non ho capito quando le variabili non sono accessibili e perchè. Comunque me lo vado a cercare da qualche parte in italiano.
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jan 2008
Messaggi: 426
|
Quando dichiari una variabile essa è visibile solo all'inteno del suo scope.
in particolare nel tuo caso n1 e n2 sono visibili solo tra le due parentesi graffe più interne, quindi nel while(...) non puoi richiamarle. Prova a dichiararle prima del do...while()
__________________
Ho concluso con successo transazioni con molti utenti, cercate i miei messaggi per maggiori dettagli! Provate il fantastico Doom & Destiny per Android, IPhone, Ipad, W8, Nokia Lumia e PC : Sito Ufficiale! |
|
|
|
|
|
#12 | |
|
Junior Member
Iscritto dal: Sep 2011
Messaggi: 9
|
Quote:
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:58.




















