Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

info linguaggio C

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto Utentefairyvilje

0
voti

[1] info linguaggio C

Messaggioda Foto Utentelillo » 22 ago 2012, 16:30

salve a tutti.
preparando informatica cerco un semplice software per programmare in C.
ricordando che il NetBeans offre questa possibilità, provo a usarlo ma con scarso successo.
scarico allora Dev.C++ , software gratuito che riesco a far funzionare.
per quello che devo fare credo vada più che bene.
per provare quindi comincio con il tutorial che mi propone il solito "Hello World!"
Codice: Seleziona tutto
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  printf("Hello World!\n");
       
  printf("Press ENTER to continue...\n");
  getchar();
  return 0;
}

compilo, eseguo, e mi apre la finestra con la scritta: la finestra si chiude solo se premo invio.
da buon principiante scrivo il primo programma:
Codice: Seleziona tutto
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  int x=0;
  printf("Inserire il numero:\n");
  scanf("%d", &x);
  if(x>=5)
       printf("Il numero è maggiore o uguale a 5");
         
  else
       printf("Il numero è minore di 5");
       
       
  printf("Press ENTER to continue...\n");
  getchar();
  return 0;
}

una robetta che mi avvisa se il numero inserito è maggiore o minore di 5.
all'esecuzione mi esce il messaggio Inserire il numero:, ma se inserisco e premo invio, la finestra si chiude immediatamente.
riesco appena a intravedere il messaggio: Il numero è minore di 5
dove sbaglio?
grazie a tutti :-)
Avatar utente
Foto Utentelillo
20,5k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 4172
Iscritto il: 25 nov 2010, 11:30
Località: Nuovo Mondo

1
voti

[2] Re: info linguaggio C

Messaggioda Foto Utenteteo1998 » 22 ago 2012, 17:05

non sbagli, per il PC il codice finisce li, se includi la libreria "stdlib.h" e scrivi "system ("pause") prima di "getchar();" e hai risolto
Avatar utente
Foto Utenteteo1998
25 3
New entry
New entry
 
Messaggi: 94
Iscritto il: 22 ago 2012, 16:09

0
voti

[3] Re: info linguaggio C

Messaggioda Foto Utentelillo » 22 ago 2012, 17:10

grazie mille Foto Utenteteo1998 :ok:
la funzione include anche il messaggio a video: Premere un tasto per continuare...
ora posso allenarmi per bene :ok:
Avatar utente
Foto Utentelillo
20,5k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 4172
Iscritto il: 25 nov 2010, 11:30
Località: Nuovo Mondo

0
voti

[4] Re: info linguaggio C

Messaggioda Foto Utenteteo1998 » 22 ago 2012, 17:12

prego, ti informo che tramite quella libreria basta che scrivi "system ("...");" e al posto dei puntini puoi usare ogni comando del dos
Avatar utente
Foto Utenteteo1998
25 3
New entry
New entry
 
Messaggi: 94
Iscritto il: 22 ago 2012, 16:09

0
voti

[5] Re: info linguaggio C

Messaggioda Foto Utentelillo » 22 ago 2012, 17:18

perfetto...
mi resta un dubbio, ma è pura curiosità:
nel primo programmino, l'Hello World!, il programma non mi chiude la finestra, ma attende la pressione del tasto per chiudere.
eppure non ho richiamato la funzione system("pause") :-M
Avatar utente
Foto Utentelillo
20,5k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 4172
Iscritto il: 25 nov 2010, 11:30
Località: Nuovo Mondo

2
voti

[6] Re: info linguaggio C

Messaggioda Foto Utentexyz » 22 ago 2012, 17:19

Includi un "windows.h" assolutamente inutile.

L'uso del comando "pause" rende il comando non multi-piattaforma ma eseguibile solo nei sistemi operativi sviluppati presso Redmond.

La chiama "getchar" è più potabile ma non viene di solito messa, i programmi su linea di comando vengono di solito eseguiti su terminale quindi è inutile bloccare l'uscita con un tasto (oltre a rendere nervoso chi lancia il comando).
Avatar utente
Foto Utentexyz
6.864 2 4 6
G.Master EY
G.Master EY
 
Messaggi: 1778
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

0
voti

[7] Re: info linguaggio C

Messaggioda Foto Utenteteo1998 » 22 ago 2012, 17:20

togli questa riga e riprova: "printf("Press ENTER to continue...\n");"
e anche il getchar
Avatar utente
Foto Utenteteo1998
25 3
New entry
New entry
 
Messaggi: 94
Iscritto il: 22 ago 2012, 16:09

2
voti

[8] Re: info linguaggio C

Messaggioda Foto UtenteRenzoDF » 22 ago 2012, 17:26

Come ha già suggerito Foto Utentexyz, da windows un bel run cmd e "atterrerai" sul giusto "pianeta" ( io faccio sempre in quel modo) ... da lì andrai ad eseguire il tuo eseguibile creato dalla compilazione; ovviamente dovrai sapere ando' sta e a questo proposito avrai creato una cartella dal nome più corto possibile dove andare a salvarli. ;-)
NB La finestra del DOS e quella del tuo compilatore preferito potranno tranquillamente coesistere fianco a fianco sullo schermo.

2012-08-22_174046.gif
2012-08-22_174046.gif (45.76 KiB) Osservato 5771 volte
"Il circuito ha sempre ragione" (Luigi Malesani)
Avatar utente
Foto UtenteRenzoDF
55,9k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 13189
Iscritto il: 4 ott 2008, 9:55

0
voti

[9] Re: info linguaggio C

Messaggioda Foto Utentelillo » 22 ago 2012, 17:36

Foto Utentexyz ha scritto:Includi un "windows.h" assolutamente inutile.

lo immaginavo, ma era li dal principio e la mia filosofia è: meno tocchi e meno danni fai :oops:
sapresti dirmi la sua funzione?
Foto Utentexyz ha scritto:L'uso del comando "pause" rende il comando non multi-piattaforma ma eseguibile solo nei sistemi operativi sviluppati presso Redmond.

questo è un problema che non si pone, a me serve un programma per allenarmi in vista dell'esame, esame in modalità carta e penna, dove queste finezze sono altamente omesse.
Foto Utenteteo1998 ha scritto:togli questa riga e riprova: "printf("Press ENTER to continue...\n");"
e anche il getchar

e esce in automatico :(
BTW non importa, l'importante che abbia capito come "fermare" i miei programmi.

@Foto UtenteRenzoDF: perfetto, il tempo di rispolverare un po di comandi DOS e siamo a cavallo
Avatar utente
Foto Utentelillo
20,5k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 4172
Iscritto il: 25 nov 2010, 11:30
Località: Nuovo Mondo

0
voti

[10] Re: info linguaggio C

Messaggioda Foto Utentelillo » 22 ago 2012, 17:44

...e come al solito hai ragione :D
il pianeta è proprio quello giusto, senza aggiungere altri comandi i miei output restano li belli visibili :cool:
grazie a tutti, tornerò probabilmente a disturbarvi :mrgreen:
Avatar utente
Foto Utentelillo
20,5k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 4172
Iscritto il: 25 nov 2010, 11:30
Località: Nuovo Mondo

Prossimo

Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 13 ospiti