Source / Exemple :
/*********************************************************
Nom du programme : ExerciceFichier.java
Auteur : Zufferey Matthieu
Date : 30.08.2002
Description : C'est un exercice sur les fichiers
Préconditions : Aucune
/********************************************************/
import java.io.* ;
import java.util.* ;
public class Exercice
{
public static void main(String[] args) throws IOException
{
File fichier = new File("employe.txt") ;
RandomAccessFile donnee = new RandomAccessFile(fichier, "rw") ;
int numero = 0 ;
int choix = 0 ;
int compteur = 1 ;
double moyenne = 0 ;
double newSalaire = 0 ;
boolean sortie = false ;
donnee.writeInt(compteur) ;
donnee.writeChar(' ') ;
donnee.writeUTF("Patolachi") ;
donnee.writeChar(' ') ;
donnee.writeUTF("Marcel") ;
donnee.writeChar(' ') ;
donnee.writeDouble(5500.00) ;
donnee.writeChar('\n') ;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in)) ;
do
{
do
{
try
{
System.out.println("Menu") ;
System.out.println("====\n") ;
System.out.println("1. Afficher les donnees") ;
System.out.println("2. Calculer le salaire moyens") ;
System.out.println("3. Ajouter un employe") ;
System.out.println("4. Modifier le salaire d'un employe") ;
System.out.println("5. Quitter") ;
choix = Integer.parseInt(in.readLine()) ;
}
catch(NumberFormatException e)
{}
}
while(choix < 1 || choix > 5) ;
switch(choix)
{
case 1 :
{
System.out.println() ;
donnee.seek(0) ;
for (int i = 0 ; i < compteur ; i++)
{
try
{
System.out.print(donnee.readInt()) ;
System.out.print(donnee.readChar()) ;
System.out.print(donnee.readUTF()) ;
System.out.print(donnee.readChar()) ;
System.out.print(donnee.readUTF()) ;
System.out.print(donnee.readChar()) ;
System.out.print(donnee.readDouble()) ;
System.out.print(donnee.readChar()) ;
}
catch(EOFException e)
{}
}
System.out.println() ;
}
break ;
case 2 :
{
System.out.println() ;
moyenne = 0 ;
donnee.seek(0) ;
for (int i = 0 ; i < compteur ; i++)
{
try
{
donnee.readInt() ;
donnee.readChar() ;
donnee.readUTF();
donnee.readChar() ;
donnee.readUTF() ;
donnee.readChar() ;
moyenne += donnee.readDouble() ;
donnee.readChar() ;
}
catch(EOFException e)
{}
}
System.out.println("La moyenne des salaires est de : " + (moyenne/compteur)) ;
System.out.println() ;
}
break ;
case 3 :
{
System.out.println() ;
donnee.seek(donnee.length()) ;
compteur += 1 ;
try
{
donnee.writeInt(compteur) ;
donnee.writeChar(' ') ;
System.out.println("Entrez le nom du nouvel employe") ;
donnee.writeUTF(in.readLine()) ;
donnee.writeChar(' ') ;
System.out.println("Entrez le prenom du nouvel employe") ;
donnee.writeUTF(in.readLine()) ;
donnee.writeChar(' ') ;
System.out.println("Entrez le salaire du nouvel employe") ;
donnee.writeDouble(Double.parseDouble(in.readLine())) ;
donnee.writeChar('\n') ;
}
catch(EOFException e)
{}
System.out.println() ;
}
break ;
case 4 :
{
System.out.println() ;
donnee.seek(0) ;
do
{
System.out.println("Entrez le numero de l'employe a qui vous voulez change le salaire") ;
numero = Integer.parseInt(in.readLine()) ;
}
while(numero < 0 || numero > compteur) ;
System.out.println("Entrez le montant du nouveau salaire") ;
newSalaire = Double.parseDouble(in.readLine()) ;
int numDonnee = 0 ;
try
{
for (int i = 0 ; i < compteur ; i++)
{
numDonnee = donnee.readInt() ;
if(numero == numDonnee)
{
donnee.readChar() ;
donnee.readUTF() ;
donnee.readChar();
donnee.readUTF() ;
donnee.readChar() ;
donnee.writeDouble(newSalaire) ;
donnee.readChar() ;
}
else
{
donnee.readChar() ;
donnee.readUTF() ;
donnee.readChar();
donnee.readUTF() ;
donnee.readChar() ;
donnee.readDouble() ;
donnee.readChar() ;
}
}
}
catch(EOFException e)
{}
System.out.println() ;
}
break ;
case 5 :
{
System.out.println() ;
sortie = true ;
}
break ;
}
}
while(sortie != true) ;
System.exit(0) ;
}
}
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.