1.Ushtrime baze me skedaret tekst. (skedari leksion.txt duhet te jete i krijuar dhe i vendosur ne te njejten direktori ku eshte edhe skedari ushtrim.exe)
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <ctype.h>
#include <unistd.h>
int main(){
FILE * sk;
sk=fopen("leksion.txt","r");
if(sk==NULL){
printf("Skedari ka gabim ne hapje\n");
return 0;
}
char g;
//afishimi i skedarit
/*M1
g=getc(sk);
while(g!=EOF){
sleep(1);
printf("%c",g);
g=getc(sk);
}
*/
/*M2
while((g=getc(sk))!=EOF){
printf("%c",g);
}
*/
//Numerimi i karaktereve ne nje skedar
/*
int nr=0;
while((g=getc(sk))!=EOF){
nr++;
}
printf("Skedari ka %d karaktere.",nr);
*/
//Numerimi i karaktereve pa hapesira dhe pika
/*
int nr=0;
while((g=getc(sk))!=EOF){
if(g!='.' && g!=' '&& g!='\n')
nr++;
}
printf("Skedari ka %d karaktere != nga pika dhe hapesira.",nr);
*/
//Numerimi i karaktereve --e--
/*
int nr=0;
while((g=getc(sk))!=EOF){
if(tolower(g)=='s')
nr++;
}
printf("Skedari ka %d karaktere --s--",nr);
*/
//Numerimi i karaktereve zanore
/*
int nr=0;
while((g=getc(sk))!=EOF){
if( tolower(g)=='e' ||
tolower(g)=='i' ||
tolower(g)=='o' ||
tolower(g)=='u' ||
tolower(g)=='y' ||
tolower(g)=='w')
nr++;
}
printf("Skedari ka %d zanore",nr);
*/
//krijimi i nje kopjeje te skedarit
/*
FILE * sk_ri;
char * emri_skedarit;
emri_skedarit=(char *)malloc(sizeof(char *));
printf("Skedari: ");
scanf("%s",emri_skedarit);
strcat(emri_skedarit,".txt");
sk_ri=fopen(emri_skedarit,"w");
if(sk_ri==NULL){
printf("Skedari ka gabim ne hapje\n");
return 0;
}
while((g=getc(sk))!=EOF){
fprintf(sk_ri,"%c",toupper(g));
}
printf("Skedari u krijua me sukses\n");
fclose(sk_ri);
*/
fclose(sk);
getch();
return 0;
}
2. Vizatimi i nje forme gjeomtrike ne nje skedar
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
int main() {
FILE * sk;
char * emri_skedarit;
emri_skedarit=(char *)malloc(sizeof(char *));
char * numri_skedarit;
numri_skedarit=(char *)malloc(sizeof(char *));
printf("Skedari: ");
scanf("%s",emri_skedarit);
strcat(emri_skedarit,".txt");
int n;
printf("Jep madhesine e trekendeshit: ");
scanf("%d",&n);
/*
strcat(emri_skedarit,"_");
sprintf(numri_skedarit,"%d",n);
strcat(emri_skedarit,numri_skedarit);
strcat(emri_skedarit,".txt");
*/
char g;
sk=fopen(emri_skedarit,"w");
if(sk==NULL){
printf("Skedari ka gabim ne hapje\n");
return 0;
}
int nr_hap=n-1;
int nr_yje=1;
for(int i=1;i<=n;i++){
//shkrimin e hapesirave
for(int j=1;j<=nr_hap;j++)
fprintf(sk," ");
for(int j=1;j<=nr_yje;j++)
fprintf(sk,"*");
nr_hap--;
nr_yje=nr_yje+2;
fprintf(sk,"\n");
}
fclose(sk);
getch();
return 0;
}
3. Skedaret tekst te formatuar (skedari "skedar format emrat e renditur.txt" duhet te jete i krijuar dhe i vendosur ne te njejten direktori ku eshte edhe skedari ushtrim.exe).
Shenim: Ushtrimi me poshtem ka per qellim demostrimin e perdorimit te skedareve tekst te formatuar dhe jo performancen ne ndertimin e algoritmit
#include <stdio.h>
float mesatare(int v[],int n){
int s=0;
for(int i=0;i<n;i++)
s+=v[i];
return float(s)/n;
}
int main (){
FILE * sk1,*sk2;
sk1=fopen("skedar format emra.txt","r");
if(sk1==NULL){
printf("Skedari nuk mund te hapet");
return 0;
}
sk2=fopen("skedar format emra renditur.txt","w");
if(sk2==NULL){
printf("Skedari nuk mund te hapet");
return 0;
}
int m,n;
fscanf(sk1,"%d",&m);
fscanf(sk1,"%d",&n);
struct student{
char emri[20];
char mbiemri[20];
int mosha;
char gjinia;
int notat[4];
} st[m];
for(int i=0;i<m;i++){
fscanf(sk1,"%s",st[i].emri);
fscanf(sk1,"%s",st[i].mbiemri);
fscanf(sk1,"%d",&st[i].mosha);
fscanf(sk1,"%c",&st[i].gjinia);
fscanf(sk1,"%c",&st[i].gjinia);
for(int j=0;j<n;j++)
fscanf(sk1,"%d",&st[i].notat[j]);
}
struct student tmp;
for(int i=0;i<m;i++)
for(int j=i+1;j<m;j++)
if(mesatare(st[i].notat,n)<mesatare(st[j].notat,n))
{
tmp=st[i];
st[i]=st[j];
st[j]=tmp;
}
/*
fprintf(sk2,"%d %d\n",m,n);
for(int i=0;i<m;i++){
if(mesatare(st[i].notat,n)>7){
fprintf(sk2,"%d.%s %s\t%d\t%c ",i+1,st[i].emri,st[i].mbiemri,st[i].mosha,st[i].gjinia);
for(int j=0;j<n;j++)
fprintf(sk2,"%d\t",st[i].notat[j]);
fprintf(sk2,"----->%f\n",mesatare(st[i].notat,n));
}
}
*/
for(int i=0;i<m;i++){
fprintf(sk2,"%d.%s\t%s\t ka mesatare %.2f.\n",i+1,st[i].emri,st[i].mbiemri,mesatare(st[i].notat,n));
}
printf("Mbaroi me sukses\n");
fclose(sk1);
fclose(sk2);
return 0;
}