Bonjour,
Je me suis mis à SWIFT donc je fais quelques tests en "Commande line Tool" et je peaufine un peu pour m'habituer à ce language.
J'améliore un bout de code récupéré sur le net et j'y intègre des tests de saisies.
J'utilise Xcode.
Voilà le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
//
//  main.swift
//  ProgLines01
//
//  Created by Patyom on 29/04/2017.
//  Copyright © 2017 Patyom. All rights reserved.
//
 
import Foundation
 
// Fonction permettant de demander à l'utilisateur d'entrer un nombre et de le convertir en entier
func input() -> Int {
        let strData = readLine();
 
    return Int(strData!)!
}
// Fonction permettant de demander à l'utilisateur d'entrer un string
func inputStr() -> String {
    let strDataStr = readLine();
    return String(strDataStr!)!
}
 
// Déclaration des variables utiles pour le TP
var nombre1: Int
var nombre2: Int
var compteur: Int = 0
var cpt: Int = 0
var texte: String
var ouinon : String
var operateur: Int // Comprendra un nombre correspondant au menu (par exemple 1 pour une Addition)
var resultat: Int
 
//var liste: [Int:String] = [1: "Addition", 2: "Soustraction", 3: "Multiplication", 4: "Division", 5: "Modulo", 6: "Carré"]
var liste = ["Addition", "Soustraction", "Multiplication", "Division", "Modulo", "Carré"]
 
// Essai tantque La réponse est égal à "o" ou "O"
repeat {
// On boucle tant que l'utilisateur n'a pas rentré un nombre compris entre 1 et 6
    repeat {
        cpt = 0
        // On affiche tout d'abord le menu
        print("--- Menu ---")
        for i in liste {
            cpt = cpt + 1
            var texte = "\(cpt)" + ". " + i
            print(texte)
        }
 
        print("")
 
 
        // On demande à l'utilisateur ce qu'il souhaite
        print("Que voulez-vous ? (de 1 à 6) ")
        repeat {
            operateur = input()
 
        } while (operateur < 1 || operateur > 6)
 
        print("") // Permet de réaliser un saut de ligne
 
        // Affichage du type de choix
//        print("Vous avez choisi : " + liste[operateur])
        print("") // Permet de réaliser un saut de ligne
 
        // Pour réaliser l'opération, il est nécessaire d'avoir entré un nombre qui correspond au menu
        if (operateur > 0 && operateur < 7) {
 
            // test d'affichage de demande d'1 ou 2 nombres
            if (operateur == 6) {
                // L'utilisateur rentre un nombre pour calcul "Carré"
                print("Entrez un nombre : ")
                nombre1 = input()
                switch operateur {
                case 6: // Carré
                    resultat = nombre1 * nombre1
 
                default:
                    resultat = 0 // On ne devrait pas entrer dans ce cas normalement, mais si jamais, on indique à 0 le résultat.
                    print("Une erreur est survenue.")
                }
 
            } else {
                // L'utilisateur rentre le premier nombre
                print("Entrez le premier nombre : ")
                nombre1 = input()
 
                // L'utilisateur rentre le deuxième nombre
                print("Entrez le deuxième nombre : ")
                nombre2 = input()
 
                switch operateur {
                case 1: // Addtion
                    resultat = nombre1 + nombre2
 
                case 2: // Soustraction
                    resultat = nombre1 - nombre2
 
                case 3: // Multiplication
                    resultat = nombre1 * nombre2
 
                case 4: // Division
                    resultat = nombre1 / nombre2
 
                case 5: // Modulo
                    resultat = nombre1 % nombre2
 
                default:
                    resultat = 0 // On ne devrait pas entrer dans ce cas normalement, mais si jamais, on indique à 0 le résultat.
                    print("Une erreur est survenue.")
 
                }
            }
 
            // Enfin, on affiche le résultat
            print("")
            print("Le résultat de " + liste[operateur - 1] + " est : \(resultat)")
            print("")
 
            compteur = compteur + 1
 
            // Affichage du compteur
            print("Vous avez déjà effectué \(compteur)")
            print("")
        }
    } while (operateur < 1 || operateur > 6)
 
 
    // Question à L'utilisateur pour un autre essai
    print("Voulez-vous procéder à un nouvel essai ? ")
    ouinon = inputStr()
 
} while (ouinon == "O" || ouinon == "o")
A chaque fois que je saisi une lettre sur une demande de chiffre, il plante bien entendu.
Je ne connais pas l'instruction (s'il y a) pour éviter cela.