Inverte una sequenza di caratteri

#include <stdio.h>

char c[10];

void leggeDati() {
	int i;	
	for (i=0; i<10; i++)
		scanf("%c", &c[i]);
}

void scambiaOrdine() {
	int i;
	char t;	
	for (i=0; i<5; i++) {
		t = c[i];
		c[i] = c[9-i];		
		c[9-i] = t;
	}
}

void stampaDati() {
	int i;	
	for (i=0; i<10; i++)
		printf("%c", c[i]);
}

int main() {
	leggeDati();	
	scambiaOrdine();	
	stampaDati();
}

Gestione avanzata della console di output

File: console.h

#include <windows.h>

void GotoXY(int x, int y) {
	SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), (COORD) {x, y});
}

void Color(int c) {
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), c);
}

File: esempio.c

#include <stdio.h>
#include "console.h"

int main() {
	GotoXY(10, 5);
	Color(15); printf("Ciao alla ");
	Color(14); printf("classe ");
	Color(13); printf("2F");
}

numeri.c

#include <stdio.h>

int a[20];

void leggeVettore() {
    int i;
    printf("Inserisci 20 valori interi\n");
    for (i=0; i<20; i++)
        scanf("%d", &a[i]);
}

void stampaVettore() {
    int i;
    printf("a = (");
    for (i=0; i<20; i++)
        printf(" %d ", a[i]);
    printf(")\n");
}

int main() {
    leggeVettore();
    stampaVettore();
    return 0;
}

Prototipo di pagina JSP per l’accesso ad un DB

Tabella: Classe5E

index.html

  • Crea la tabella
  • Cancella la tabella
  • Inserisci un nominativo
  • Cancella un nominativo
  • Visualizza tutti i nominativi

crea.jsp

<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.SQLException"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Classe 5ª E</title>
</head>
<body>
    <h1>Classe 5ª E - Creazione tabella</h1>
    <%
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            Connection conn = DriverManager.getConnection("jdbc:mysql://didattica1.liceocuneo.it/db1", "studente1", "topolino13");
            Statement stat = conn.createStatement();
            stat.executeUpdate("CREATE TABLE Classe5E (ID_Studente INT NOT NULL AUTO_INCREMENT, Cognome VARCHAR(45) NOT NULL, Nome VARCHAR(45) NOT NULL, LuogoNascita VARCHAR(45) NOT NULL, DataNascita DATE NOT NULL, PRIMARY KEY (ID_Studente))");
            stat.close();
            conn.close();
    %>
    <p>Tabella "Classe5E" creata correttamente.</p>
    <%
        } catch (InstantiationException | IllegalAccessException | ClassNotFoundException | SQLException ex) {
    %>
    <p><%=ex.toString()%><br/><%=ex.getMessage()%></p>
    <%
        } // endcatch
    %>
</body>
</html>

Progetto NetBeans completo: Anagrafe5E.zip

calcolatrice.c

Creare una semplice calcolatrice che esegua le 4 operazioni

Crea una procedura menu che visualizza il menu seguente una sola volta all’avvio del programma.

+————————-+
| +: addizione
| -: sottrazione
| *: moltiplicazione
| /: divisione
+————————-+

nel main() deve essere per prima cosa visualizzato il menu, poi si entra in un ciclo do-while all’interno del quale viene chiesto:

il primo numero
l’operazione da eseguire fra + – * /
a seconda dell’operazione scelta mediante uno switch viene:
richiesto il secondo numero
eseguita l’operazione
stampato il risultato

supermercato.c

Simulare un supermercato.

Il menu deve essere fatto così:
=========================
Prodotti
=========================
1-Uova
2-Latte
3-Carne
4-Formaggio
5-Pane
0-Paga ed esci
=========================

#define UOVA 0.15
#define LATTE 1.25
#define CARNE 12.50
#define FORMAGGIO 7.45
#define PANE 1.10

Deve esserci una variabile globale float “totale”
Il main() deve gestire l’input della scelta dal menu mediante un ciclo do-while e uno switch
Lo switch deve richiamare le procedure “compraUova”, “compraLatte”, etc.
Ogni singola procedura deve chiedere il quantitativo del prodotto che si vuole acquistare e calcolare il prezzo del prodotto, che deve essere sommato a “totale”.

media.c

Scrivere una funzione chiamata “menu” che cancella lo schermo e visualizza il seguente menu:
Programma media
1-Inserisci un valore
2-Visualizza il totale
3-Visualizza la media
0-Esci
la funzione restituisce una delle scelte fatte dall’utente.

Creare le due variabili globali
float totale;
int n;

Il programma serve per calcolare la media di un certo numero di valori inseriti, che vanno ad accumularsi nella variabile totale e che vengono conteggiati nella variabile n.
Quando l’utente seleziona i valori da 1 a 3 mediante uno switch vengono chiamate le procedure “inserisci”, “visTotale”, “visMedia” che eseguono le operazioni richieste.

#include <stdio.h>

float totale;
int n;

int menu() {
	int scelta;

	system("CLS");
	printf("======================\n");
	printf("Programma media       \n");
	printf("----------------------\n");
	printf("1-Inserisci un valore \n");
	printf("2-Visualizza il totale\n");
	printf("3-Visualizza la media \n");
	printf("0-Esci                \n");
	printf("======================\n");
	printf("Scegli? ");
	scanf("%d", &scelta);
	printf("\n");

	return scelta;
}

void inserisci() {
	float val;
	printf("Inserisci numero: ");
	scanf("%f", &val);
	totale += val;
	n++;
}

void visTotale() {
	printf("Totale: %f\n", totale);
}

void visMedia() {
	printf("Media: %f\n", totale / n);
}

void pausa() {
	printf("Premi un tasto per continuare");
	getch();
}

int main() {
	int op;

	do {
		op = menu();
		switch (op) {
			case 0:
				printf("Programma terminato.\n");
				break;
			case 1:
				inserisci();
				pausa();
				break;
			case 2:
				visTotale();
				pausa();
				break;
			case 3:
				visMedia();
				pausa();
				break;
			default:
				printf("Valore non ammesso.\n");
				pausa();
		}
	} while (op != 0);

	return 0;
}