Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Realizzato da Lenovo e installato presso il Cineca di Casalecchio di Reno, Pitagora offre circa 44 PFlop/s di potenza di calcolo ed è dedicato alla simulazione della fisica del plasma e allo studio dei materiali avanzati per la fusione, integrandosi nell’ecosistema del Tecnopolo di Bologna come infrastruttura strategica finanziata da EUROfusion e gestita in collaborazione con ENEA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Rullo di lavaggio dei pavimenti abbinato a un potente motore da 28.000 Pa e a bracci esterni che si estendono: queste, e molte altre, le caratteristiche tecniche di Z60 Ultra Roller Complete, l'ultimo robot di Mova che pulisce secondo le nostre preferenze oppure lasciando far tutto alla ricca logica di intelligenza artificiale integrata
Renault Twingo E-Tech Electric: che prezzo!
Renault Twingo E-Tech Electric: che prezzo!
Renault annuncia la nuova vettura compatta del segmento A, che strizza l'occhio alla tradizione del modello abbinandovi una motorizzazione completamente elettrica e caratteristiche ideali per i tragitti urbani. Renault Twingo E-Tech Electric punta su abitabilità, per una lunghezza di meno di 3,8 metri, abbinata a un prezzo di lancio senza incentivi di 20.000€
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-11-2011, 19:14   #1
cicciomegghiu
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.
cicciomegghiu è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2011, 19:59   #2
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
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.
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2011, 20:45   #3
cicciomegghiu
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?
cicciomegghiu è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2011, 20:55   #4
Floris
Senior Member
 
L'Avatar di Floris
 
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)
allora mancano le parentesi esterne:
Codice:
while ( (n1%n2==0) || (n1%n2==0) )
__________________
Concluso con:...
Floris è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2011, 22:29   #5
cicciomegghiu
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



}
cicciomegghiu è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2011, 13:52   #6
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
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...
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2011, 14:19   #7
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da WarDuck Guarda i messaggi
E' come provare ad esprimere un concetto in turco senza conoscere la lingua turca, non so se mi spiego...
O come provare a risolvere un cruciverba senza leggere le definizioni...
__________________

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)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2011, 14:52   #8
cicciomegghiu
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:
E' come provare ad esprimere un concetto in turco senza conoscere la lingua turca, non so se mi spiego...
Però se vado a vivere in turchia a furia di sentire parlare turco imparerò a parlare anch' io! e meglio di chi se lo studia in italia! (comunque inizierò a leggere le guide, mi avete convinto)
cicciomegghiu è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2011, 14:54   #9
insane74
Senior Member
 
L'Avatar di insane74
 
Iscritto dal: Feb 2003
Città: BG
Messaggi: 10145
Quote:
Originariamente inviato da cicciomegghiu Guarda i messaggi
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.

Però se vado a vivere in turchia a furia di sentire parlare turco imparerò a parlare anch' io! e meglio di chi se lo studia in italia! (comunque inizierò a leggere le guide, mi avete convinto)
http://en.wikipedia.org/wiki/Variable_scope
__________________
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
insane74 è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2011, 15:41   #10
cicciomegghiu
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.
cicciomegghiu è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2011, 15:48   #11
Eversor2
Senior Member
 
L'Avatar di Eversor2
 
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!
Eversor2 è offline   Rispondi citando il messaggio o parte di esso
Old 10-11-2011, 17:24   #12
cicciomegghiu
Junior Member
 
Iscritto dal: Sep 2011
Messaggi: 9
Quote:
Originariamente inviato da Eversor2 Guarda i messaggi
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()
Grazie, è quello che mi serviva!
cicciomegghiu è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare Cineca inaugura Pitagora, il supercomputer Lenov...
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA Mova Z60 Ultra Roller Complete: pulisce bene gra...
Renault Twingo E-Tech Electric: che prezzo! Renault Twingo E-Tech Electric: che prezzo!
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media Il cuore digitale di F1 a Biggin Hill: l'infrast...
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica DJI Osmo Mobile 8: lo stabilizzatore per smartph...
Lo compri una volta, lo giochi dove vuoi...
Qiantinuum annuncia Helios, "il com...
Samsung Galaxy S26 Ultra: una sola novit...
Google prepara Gemini 3 Pro e Nano Banan...
TVS non è solo moto e scooter: ec...
Alexa+ arriva su BMW: gli automobilisti ...
Gemini Deep Research arriva su Google Fi...
Rinvii a catena, Marvel 1943: Rise of Hy...
Xiaomi inaugura uno spazio dedicato ai f...
Rilasciate le specifiche di Bluetooth 6....
L'obiettivo che mette tutto a fuoco: la ...
Meta avrebbe raccolto fino al 10% dei ri...
NVIDIA DGX Spark e videogiochi? Una pess...
Serie Oppo Reno15 confermata: arriva il ...
UPDF 2025: l'editor PDF che fa (quasi) t...
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: 23:58.


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