Modify my PHP file This php script works but it has the explode command in it. P
ID: 640560 • Letter: M
Question
Modify my PHP file
This php script works but it has the explode command in it.
Please make program work without the explode command and remove any lines with echo in it.
You will earn 1,500 points for this
this script gets input from a file named students.txt and outputs to three text files which you can see in the code
Here is a screenshot of what the students.txt input file looks like and the three output files should look like
Here is contents of students.txt
Sally F 35 A
Donald M 38 A
Susan F 22 N
Richard M 21 N
Dave M 39 A
I can get the output correct if I out all 4 lines of text in a row but not if I separate them on 4 separate lines
Here is the code:
[code]
// these are your file variables
$name = "";
$gender = "";
$age = 0;
$status = "";
// here are the marital status counters
$marriedmen = 0;
$singlemen = 0;
$marriedwomen = 0;
$singlewomen = 0;
// open the file
$fin = fopen("students.txt","r") or die("do you even lift bro!");
// open the summary report file
$fsum = fopen("summaryreport.txt","w") or die("seriously bro do you even lift!");
fprintf($fsum, " SUMMARY REPORT ");
//open single men over 30
$sm = fopen("SummaryMen.txt","w") or die("Bro you don't even lift!");
fprintf($sm, " Single Men Over 30");
fprintf($sm, " Name Age ");
// open single women over 30
$sw = fopen("SummaryWomen.txt","w") or die("do some squats bro!");
fprintf($sw, " Single Women Over 30");
fprintf($sw, " Name Age ");
while (($line = fgets($fin)) !== false)
{
$Chunks = explode(" ", $line);
$name=$Chunks[0];
$gender=$Chunks[1];
$age=(int)$Chunks[2];
$status=$Chunks[3];
//printf"
%s %s %d %s", $name, $gender, $age, $status);
// echo $name . $gender . $age . $status . "
" ;
if($gender == "M") // I AM A MAN
{
//printf("
Man");
if($age > 30)
{
// echo "MAN " . $status . "
";
if($status == "N " ||$status == "N" )
{
// echo "Married MAN
";
$marriedmen = $marriedmen + 1;
}
else // I AM A SINGLE MAN OVER 30
{
// echo "SINGLE MAN
";
// printf("
SINGLE");
$singlemen = $singlemen +1;
fprintf($sm," %s %d",$name, $age);
}
}
else
{
if($status == "N " ||$status == "N")
{
// echo "Married MAN
";
$marriedmen = $marriedmen + 1;
}
else // I AM A SINGLE MAN OVER 30
{
echo "SINGLE MAN
" . $status. "
";
// printf("
SINGLE");
$singlemen = $singlemen +1;
}
}
}
if($gender == "F") // I AM A Woman
{
// echo "WOMAN
";
if($age > 30) //
{
if($status == "N " ||$status == "N")
{
// echo "MARRIED WOMAN
";
$marriedwomen = $marriedwomen + 1;
}
else // I AM A SINGLE WOMAN OVER 30
{
// echo "SINGLE WOMAN
";
$singlewomen = $singlewomen +1;
fprintf($sw," %s %d",$name, $age);
}
}
else
{
if($status == "N " ||$status == "N")
{
// echo "MARRIED WOMAN
";
$marriedwomen = $marriedwomen + 1;
}
else // I AM A SINGLE WOMAN OVER 30
{
// echo "SINGLE WOMAN
";
$singlewomen = $singlewomen +1;
}
}
}
}
fprintf($fsum," Married Men: %d", $marriedmen);
fprintf($fsum," Single Men: %d ", $singlemen);
fprintf($fsum," Married Women: %d ", $marriedwomen);
fprintf($fsum," Single Women: %d ", $singlewomen);
fclose($sw);
fclose($sm);
fclose($fin);
fclose($fsum);
//fscanf(STDIN, "%s", $buster);
?>
[code]
Explanation / Answer
Hi, Code as requested
<?php
// these are your file variables
$name = "";
$gender = "";
$age = 0;
$status = "";
// here are the marital status counters
$marriedmen = 0;
$singlemen = 0;
$marriedwomen = 0;
$singlewomen = 0;
// open the file
$fin = fopen("student.txt","r") or die("do you even lift bro!");
// open the summary report file
$fsum = fopen("summaryreport.txt","w") or die("seriously bro do you even lift!");
fprintf($fsum, " SUMMARY REPORT ");
//open single men over 30
$sm = fopen("SummaryMen.txt","w") or die("Bro you don't even lift!");
fprintf($sm, " Single Men Over 30");
fprintf($sm, " Name Age ");
// open single women over 30
$sw = fopen("SummaryWomen.txt","w") or die("do some squats bro!");
fprintf($sw, " Single Women Over 30");
fprintf($sw, " Name Age ");
// $userinfo = fscanf($handle, "%s %s %s ")
// fscanf($fin,"%s%s%d%s", $name, $gender, $age, $status);
while (!feof($fin))
{
fscanf($fin,"%s%s%d%s", $name, $gender, $age, $status);
if(feof($fin))
break;
//printf"<br>%s %s %d %s", $name, $gender, $age, $status);
if($gender == "M") // I AM A MAN
{
//printf("<br> Man");
if($age > 30)
{
if($status == "N " ||$status == "N" )
{
$marriedmen = $marriedmen + 1;
}
else // I AM A SINGLE MAN OVER 30
{
// printf("<br>SINGLE");
$singlemen = $singlemen +1;
fprintf($sm," %s %d",$name, $age);
}
}
else
{
if($status == "N " ||$status == "N")
{
$marriedmen = $marriedmen + 1;
}
else // I AM A SINGLE MAN OVER 30
{
// printf("<br>SINGLE");
$singlemen = $singlemen +1;
}
}
}
if($gender == "F") // I AM A Woman
{
if($age > 30) //
{
if($status == "N " ||$status == "N")
{
$marriedwomen = $marriedwomen + 1;
}
else // I AM A SINGLE WOMAN OVER 30
{
$singlewomen = $singlewomen +1;
fprintf($sw," %s %d",$name, $age);
}
}
else
{
if($status == "N " ||$status == "N")
{
$marriedwomen = $marriedwomen + 1;
}
else // I AM A SINGLE WOMAN OVER 30
{
$singlewomen = $singlewomen +1;
}
}
}
}
fprintf($fsum," Married Men: %d", $marriedmen);
fprintf($fsum," Single Men: %d ", $singlemen);
fprintf($fsum," Married Women: %d ", $marriedwomen);
fprintf($fsum," Single Women: %d ", $singlewomen);
fclose($sw);
fclose($sm);
fclose($fin);
fclose($fsum);
fscanf(STDIN, "%s", $buster);
?>
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.