PDA

Visualizza la versione completa : [C] Cosa cambiereste in questo mio primo programma?


D4MI4NO
14-10-2002, 12:33
In cosa lo modifichereste il mio primo programma? Praticamente va ad editare i syslog di linux....





#include <stdio.h>
#include <syslog.h>

int scelta;

void alert(void);
void crit(void);
void debug(void);
void emerg(void);
void err(void);
void info(void);
void notice(void);
void warning(void);
void byez(void);
void menu(void);
void credit(void);

int main()
{
char alert_string[40];
char crit_string[40];
char debug_string[40];
char emerg_string[40];
char err_string[40];
char info_string[40];
char notice_string[40];
char warning_string[40];

while (scelta!=10) {
menu();
switch(scelta) {
case 1:
printf("Modifica il messaggio (max 40 caratteri) in: ");
scanf("%s", alert_string);
alert();
break;
case 2:
printf("Modifica il messaggio (max 40 caratteri) in: ");
scanf("%s", crit_string);
crit();
break;
case 3:
printf("Modifica il messaggio (max 40 caratteri) in: ");
scanf("%s", debug_string);
debug();
break;
case 4:
printf("Modifica il messaggio (max 40 caratteri) in: ");
scanf("%s", emerg_string);
emerg();
break;
case 5:
printf("Modifica il messaggio (max 40 caratteri) in: ");
scanf("%s", err_string);
err();
break;
case 6:
printf("Modifica il messaggio (max 40 caratteri) in: ");
scanf("%s", info_string);
info();
break;
case 7:
printf("Modifica il messaggio (max 40 caratteri) in: ");
scanf("%s", notice_string);
notice();
break;
case 8:
printf("Modifica il messaggio (max 40 caratteri) in: ");
scanf("%s", warning_string);
warning();
break;
case 9:
credit();
break;
default:
printf("\nScelta non valida\n");
break;
}
}
}
void menu(void) {
printf("+------------------------+\n");
printf("| SysLogWrite V.0.1 |\n");
printf("+------------------------+\n");
printf("\n\n");
printf("1- Personalizza messaggio di avvertimento\n");
printf("2- Personalizza messagio critico\n");
printf("3- Personalizza messaggio a livello debug\n");
printf("4- Personalizza messaggio di emergenza\n");
printf("5- Personalizza messaggio di errore\n");
printf("6- Personalizza messaggio informativo\n");
printf("7- Personalizza messaggio di nota\n");
printf("8- Personalizza messaggio di attenzione\n");
printf("9- Crediti\n");
printf("Premi 0 per uscire\n");
printf("\n\n");
printf("Scegli opzione: ");
scanf("%d", &scelta);
}
void alert(void) {
printf("\nIl messaggio di avvertimento verrà cambiato in: %s\n", alert_string);
syslog(LOG_ALERT, "%s", alert_string);
}
void crit(void) {
printf("\nIl messaggio critico verrà cambiato in %s\n", crit_string);
syslog(LOG_ALERT, "%s", crit_string);
}
void debug(void) {
printf("\nIl messaggio a livello di debug verrà cambiato in %s\n", debug_string);
syslog(LOG_DEBUG, "%s", debug_string);
}
void emerg(void) {
printf("\nIl messaggio di emergenza verrà cambiato in %s\n", emerg_string);
syslog(LOG_EMERG, "%s", emerg_string);
}
void err(void) {
printf("\nIl messaggio di emergenza verrà cambiato in %s\n", err_string);
syslog(LOG_ERR, "%s", err_string);
}
void info(void) {
printf("\nIl messaggio di informazione verrà cambiato in %s\n", info_string);
syslog(LOG_INFO, "%s", info_string);
}
void notice(void) {
printf("\nIl messaggio di nota verrà cambiato in %s\n", notice_string);
syslog(LOG_NOTICE, "%s", notice_string);
}
void warning(void) {
printf("\nIl messaggio di attenzione verrà cambiato in %s\n", warning_string);
syslog(LOG_WARNING, "%s", warning_string);
}
void byez(void) {
printf("prova");
}
void credit(void) {
printf("\n\tCoder: Damiano\n");
printf("\tMail: damiano@xxxx.it");
}

D4MI4NO
14-10-2002, 12:36
Originariamente inviato da D4MI4NO
In cosa lo modifichereste il mio primo programma? Praticamente va ad editare i syslog di linux....





#include <stdio.h>
#include <syslog.h>

int scelta;

void alert(void);
void crit(void);
void debug(void);
void emerg(void);
void err(void);
void info(void);
void notice(void);
void warning(void);
void byez(void);
void menu(void);
void credit(void);

int main()
{
char alert_string[40];
char crit_string[40];
char debug_string[40];
char emerg_string[40];
char err_string[40];
char info_string[40];
char notice_string[40];
char warning_string[40];

while (scelta!=10) {
menu();
switch(scelta) {
case 1:
printf("Modifica il messaggio (max 40 caratteri) in: ");
scanf("%s", alert_string);
alert();
break;
case 2:
printf("Modifica il messaggio (max 40 caratteri) in: ");
scanf("%s", crit_string);
crit();
break;
case 3:
printf("Modifica il messaggio (max 40 caratteri) in: ");
scanf("%s", debug_string);
debug();
break;
case 4:
printf("Modifica il messaggio (max 40 caratteri) in: ");
scanf("%s", emerg_string);
emerg();
break;
case 5:
printf("Modifica il messaggio (max 40 caratteri) in: ");
scanf("%s", err_string);
err();
break;
case 6:
printf("Modifica il messaggio (max 40 caratteri) in: ");
scanf("%s", info_string);
info();
break;
case 7:
printf("Modifica il messaggio (max 40 caratteri) in: ");
scanf("%s", notice_string);
notice();
break;
case 8:
printf("Modifica il messaggio (max 40 caratteri) in: ");
scanf("%s", warning_string);
warning();
break;
case 9:
credit();
break;
default:
printf("\nScelta non valida\n");
break;
}
}
}
void menu(void) {
printf("+------------------------+\n");
printf("| SysLogWrite V.0.1 |\n");
printf("+------------------------+\n");
printf("\n\n");
printf("1- Personalizza messaggio di avvertimento\n");
printf("2- Personalizza messagio critico\n");
printf("3- Personalizza messaggio a livello debug\n");
printf("4- Personalizza messaggio di emergenza\n");
printf("5- Personalizza messaggio di errore\n");
printf("6- Personalizza messaggio informativo\n");
printf("7- Personalizza messaggio di nota\n");
printf("8- Personalizza messaggio di attenzione\n");
printf("9- Crediti\n");
printf("Premi 0 per uscire\n");
printf("\n\n");
printf("Scegli opzione: ");
scanf("%d", &scelta);
}
void alert(void) {
printf("\nIl messaggio di avvertimento verrà cambiato in: %s\n", alert_string);
syslog(LOG_ALERT, "%s", alert_string);
}
void crit(void) {
printf("\nIl messaggio critico verrà cambiato in %s\n", crit_string);
syslog(LOG_ALERT, "%s", crit_string);
}
void debug(void) {
printf("\nIl messaggio a livello di debug verrà cambiato in %s\n", debug_string);
syslog(LOG_DEBUG, "%s", debug_string);
}
void emerg(void) {
printf("\nIl messaggio di emergenza verrà cambiato in %s\n", emerg_string);
syslog(LOG_EMERG, "%s", emerg_string);
}
void err(void) {
printf("\nIl messaggio di emergenza verrà cambiato in %s\n", err_string);
syslog(LOG_ERR, "%s", err_string);
}
void info(void) {
printf("\nIl messaggio di informazione verrà cambiato in %s\n", info_string);
syslog(LOG_INFO, "%s", info_string);
}
void notice(void) {
printf("\nIl messaggio di nota verrà cambiato in %s\n", notice_string);
syslog(LOG_NOTICE, "%s", notice_string);
}
void warning(void) {
printf("\nIl messaggio di attenzione verrà cambiato in %s\n", warning_string);
syslog(LOG_WARNING, "%s", warning_string);
}
void byez(void) {
printf("prova");
}
void credit(void) {
printf("\n\tCoder: Damiano\n");
printf("\tMail: damiano@xxxx.it");
}





ah, mi manca da fare che alla pressione del tasto 0 si chiude il prg :) Cmq...criticatemi il codice dai :D

D4MI4NO
14-10-2002, 19:57
allora, nessun consiglio? :(

xegallo
14-10-2002, 22:52
comincia col mettere le dichiarazioni in un file header
il D4MI4NO.h

D4MI4NO
15-10-2002, 15:33
Originariamente inviato da xegallo
comincia col mettere le dichiarazioni in un file header
il D4MI4NO.h


mmmm quindi fare una specie di libreria da includere?

quindi diventerebbe

#include <damiano.h>
ecc ecc

giusto?

tnx

xegallo
15-10-2002, 15:37
Originariamente inviato da D4MI4NO



mmmm quindi fare una specie di libreria da includere?

quindi diventerebbe

#include <damiano.h>
ecc ecc

giusto?

tnx
solo se metti questo file tra gli altri include
se lo metti insieme al *.cpp
scrivi #include "D4MI4NO.h"

D4MI4NO
15-10-2002, 15:43
ok...senti, domanda molto scema, ma sono alle prime armi. Cosa cambia se io faccio l'header? :)

xegallo
15-10-2002, 15:50
niente ma è una questione di stile
e visto che sei all'inizio è meglio imparare con lo stile + pulito di tempo per prendere brutte abitudini ne avrai
per esempio
sarebbe stilisticamente più corretto
dichiarare
int scelta;
così
int g_iScelta;

D4MI4NO
15-10-2002, 15:55
ok tnx per i consigli...ultima domanda...se io volessi fare un programma sempre su sitemi linux, in modo da farlo compilare con il comando make, cosa dovrei fare?

Loading