Program nie działa
Witam dostałem 3 zadania domowe. Tutaj wykonanie 1 zadania i działa
//w pliku tekstowym liczby.txt zapisane są w kolejnych wierszach liczby całkowite większe od 0
//największa cyfra w kazdej liczbie zwiększona o 1 decyduje o podstawie systemu w którym ta liczba jest zapisana
//np, 123
// 111
// 345
//plik liczby txt zawiera max 20 liczb
//1.w pliku suma txt w kolejnych wierszach zapisz sume poszcvzegolnych cyfr wszystkich liczb z pliku liczby.txt
//2.w pliku maksmin.txt zapisz odpowienio liczbe której suma cyfr jest najwększa oraz liczbę której suma cyfr jest najmneijsza
//3.w pliku binarne.txt umieść wszystkie liczby zapisane w systemie binarnym np 111
//program nr 1
#include <iostream>
#include <fstream>
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
using namespace std;
main()
{
ifstream plik;
ofstream plik2;
plik.open("liczby.txt");
plik2.open("suma.txt");
string s;
int t[20];
int suma,dl,i,w;
if (!plik.good())
{
cout<<"błąd otwarcia pliku"<<endl;
}
else
{
while(!plik.eof()) // odwrotnośc funkcji zakończenia pliku aby zrobić pętlę i zakończyc przy zakończeniu
{
suma=0; // bo tak
plik>>s; //s="123"
dl=s.length();//d=3//obliczanie dlugosci znaków
for(i=0;i<dl;i++)// i n apoczatku równe 0 bo indeks 0 , i mniejsze od dlugosci, i dodajemy i
{
//przekonwertowanie ze znaku na int (wartość)
w=s-48;
suma=suma+w; // do nowej sumy dodajemy stara sume a potem kolejną wartość
//dodajemy s od 0 potem s od 1 potem s od 2
}
plik2<<suma<<endl;
}
}
plik.close();
plik2.close();
system("pause");
}
//program nr 2 który nie działa...
//2.w pliku maksmin.txt zapisz odpowienio liczbe której suma cyfr jest najwększa oraz liczbę której suma cyfr jest najmneijsza
#include <iostream>
#include <fstream>
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
using namespace std;
main()
{
ifstream plik;
ofstream plik2;
ifstream plik3;
plik.open("liczby.txt");
plik2.open("suma.txt");
plik3.open("maxmin.txt");
string s;
int znaki[20];
int liczby[20];
int suma,dl,i,w;
string l;
string s1;
if (!plik.good())
{
cout<<"błąd otwarcia pliku"<<endl;
}
else
{
while(!plik.eof()) // odwrotnośc funkcji zakończenia pliku aby zrobić pętlę i zakończyc
{
suma=0; // bo tak
plik>>s; //s="123"
dl=s.length();//d=3//obliczanie dlugosci znaków
for(i=0;i<dl;i++)// i n apoczatku równe 0 bo indeks 0 , i mniejsze od dlugosci, i dodajemy i
{
//przekonwertowanie ze znaku na int (wartość)
w=s-48;
suma=suma+w; // do nowej sumy dodajemy stara sume a potem kolejną wartość
//dodajemy s od 0 potem s od 1 potem s od 2
ofstream plik;
ofstream plik2;
//poniżej masa błędów >>>
plik>>l;
plik2>>s;
s1=atoi(s.c_str();
// s1=s-48;
if(s1>max)
{
plik3.open("maxmin.txt");
max=s1;
plik3<<l;
plik3.close();
}
else
{
}
}
plik2<<suma<<endl;
}
}
plik.close();
plik2.close();
plik3.close();
system("pause");
}
Proszę o pomoc tak aby zadziałał